From 11b7501adcf8af81b3a31702eb4daa799d5f4096 Mon Sep 17 00:00:00 2001 From: "Song, BinX" Date: Thu, 23 Mar 2017 10:16:15 +0800 Subject: [PATCH] BaseTools: Copy Brotli algorithm 3rd party source code for tool - Copy Brotli algorithm 3rd party source code for tool Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bell Song Reviewed-by: Liming Gao --- BaseTools/Source/C/BrotliCompress/LICENSE | 19 + BaseTools/Source/C/BrotliCompress/README.md | 26 + .../C/BrotliCompress/common/constants.h | 47 + .../C/BrotliCompress/common/dictionary.c | 9474 +++++++++++++ .../C/BrotliCompress/common/dictionary.h | 29 + .../Source/C/BrotliCompress/common/port.h | 107 + .../Source/C/BrotliCompress/common/types.h | 58 + .../Source/C/BrotliCompress/dec/bit_reader.c | 48 + .../Source/C/BrotliCompress/dec/bit_reader.h | 383 + .../Source/C/BrotliCompress/dec/context.h | 251 + .../Source/C/BrotliCompress/dec/decode.c | 2347 ++++ .../Source/C/BrotliCompress/dec/decode.h | 188 + .../Source/C/BrotliCompress/dec/huffman.c | 357 + .../Source/C/BrotliCompress/dec/huffman.h | 68 + BaseTools/Source/C/BrotliCompress/dec/port.h | 159 + .../Source/C/BrotliCompress/dec/prefix.h | 751 ++ BaseTools/Source/C/BrotliCompress/dec/state.c | 168 + BaseTools/Source/C/BrotliCompress/dec/state.h | 246 + .../Source/C/BrotliCompress/dec/transform.h | 300 + .../brotli-comparison-study-2015-09-22.pdf | Bin 0 -> 215208 bytes .../BrotliCompress/enc/backward_references.c | 892 ++ .../BrotliCompress/enc/backward_references.h | 99 + .../enc/backward_references_inc.h | 147 + .../Source/C/BrotliCompress/enc/bit_cost.c | 35 + .../Source/C/BrotliCompress/enc/bit_cost.h | 63 + .../C/BrotliCompress/enc/bit_cost_inc.h | 127 + .../C/BrotliCompress/enc/block_encoder_inc.h | 33 + .../C/BrotliCompress/enc/block_splitter.c | 197 + .../C/BrotliCompress/enc/block_splitter.h | 51 + .../C/BrotliCompress/enc/block_splitter_inc.h | 432 + .../C/BrotliCompress/enc/brotli_bit_stream.c | 1334 ++ .../C/BrotliCompress/enc/brotli_bit_stream.h | 107 + .../Source/C/BrotliCompress/enc/cluster.c | 56 + .../Source/C/BrotliCompress/enc/cluster.h | 48 + .../Source/C/BrotliCompress/enc/cluster_inc.h | 315 + .../Source/C/BrotliCompress/enc/command.h | 163 + .../C/BrotliCompress/enc/compress_fragment.c | 747 + .../C/BrotliCompress/enc/compress_fragment.h | 58 + .../enc/compress_fragment_two_pass.c | 557 + .../enc/compress_fragment_two_pass.h | 51 + .../Source/C/BrotliCompress/enc/compressor.h | 161 + .../Source/C/BrotliCompress/enc/context.h | 184 + .../C/BrotliCompress/enc/dictionary_hash.h | 4121 ++++++ .../Source/C/BrotliCompress/enc/encode.c | 1562 +++ .../Source/C/BrotliCompress/enc/encode.h | 221 + .../C/BrotliCompress/enc/encode_parallel.h | 27 + .../C/BrotliCompress/enc/entropy_encode.c | 501 + .../C/BrotliCompress/enc/entropy_encode.h | 122 + .../enc/entropy_encode_static.h | 539 + .../Source/C/BrotliCompress/enc/fast_log.h | 145 + .../C/BrotliCompress/enc/find_match_length.h | 80 + BaseTools/Source/C/BrotliCompress/enc/hash.h | 717 + .../enc/hash_forgetful_chain_inc.h | 249 + .../enc/hash_longest_match_inc.h | 241 + .../enc/hash_longest_match_quickly_inc.h | 230 + .../Source/C/BrotliCompress/enc/histogram.c | 95 + .../Source/C/BrotliCompress/enc/histogram.h | 60 + .../C/BrotliCompress/enc/histogram_inc.h | 51 + .../C/BrotliCompress/enc/literal_cost.c | 178 + .../C/BrotliCompress/enc/literal_cost.h | 30 + .../Source/C/BrotliCompress/enc/memory.c | 181 + .../Source/C/BrotliCompress/enc/memory.h | 62 + .../Source/C/BrotliCompress/enc/metablock.c | 515 + .../Source/C/BrotliCompress/enc/metablock.h | 110 + .../C/BrotliCompress/enc/metablock_inc.h | 183 + BaseTools/Source/C/BrotliCompress/enc/port.h | 168 + .../Source/C/BrotliCompress/enc/prefix.h | 52 + .../Source/C/BrotliCompress/enc/quality.h | 130 + .../Source/C/BrotliCompress/enc/ringbuffer.h | 160 + .../Source/C/BrotliCompress/enc/static_dict.c | 478 + .../Source/C/BrotliCompress/enc/static_dict.h | 37 + .../C/BrotliCompress/enc/static_dict_lut.h | 11241 ++++++++++++++++ .../Source/C/BrotliCompress/enc/streams.h | 121 + .../Source/C/BrotliCompress/enc/utf8_util.c | 85 + .../Source/C/BrotliCompress/enc/utf8_util.h | 32 + .../Source/C/BrotliCompress/enc/write_bits.h | 90 + BaseTools/Source/C/BrotliCompress/tools/bro.c | 472 + .../Source/C/BrotliCompress/tools/version.h | 14 + 78 files changed, 44183 insertions(+) create mode 100644 BaseTools/Source/C/BrotliCompress/LICENSE create mode 100644 BaseTools/Source/C/BrotliCompress/README.md create mode 100644 BaseTools/Source/C/BrotliCompress/common/constants.h create mode 100644 BaseTools/Source/C/BrotliCompress/common/dictionary.c create mode 100644 BaseTools/Source/C/BrotliCompress/common/dictionary.h create mode 100644 BaseTools/Source/C/BrotliCompress/common/port.h create mode 100644 BaseTools/Source/C/BrotliCompress/common/types.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/bit_reader.c create mode 100644 BaseTools/Source/C/BrotliCompress/dec/bit_reader.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/context.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/decode.c create mode 100644 BaseTools/Source/C/BrotliCompress/dec/decode.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/huffman.c create mode 100644 BaseTools/Source/C/BrotliCompress/dec/huffman.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/port.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/prefix.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/state.c create mode 100644 BaseTools/Source/C/BrotliCompress/dec/state.h create mode 100644 BaseTools/Source/C/BrotliCompress/dec/transform.h create mode 100644 BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf create mode 100644 BaseTools/Source/C/BrotliCompress/enc/backward_references.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/backward_references.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/block_splitter.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/block_splitter.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/command.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/compressor.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/context.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/fast_log.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/find_match_length.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/hash.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/literal_cost.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/literal_cost.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/memory.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/memory.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/port.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/prefix.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/quality.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/streams.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/utf8_util.c create mode 100644 BaseTools/Source/C/BrotliCompress/enc/utf8_util.h create mode 100644 BaseTools/Source/C/BrotliCompress/enc/write_bits.h create mode 100644 BaseTools/Source/C/BrotliCompress/tools/bro.c create mode 100644 BaseTools/Source/C/BrotliCompress/tools/version.h diff --git a/BaseTools/Source/C/BrotliCompress/LICENSE b/BaseTools/Source/C/BrotliCompress/LICENSE new file mode 100644 index 000000000000..49550fc2d06e --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/BaseTools/Source/C/BrotliCompress/README.md b/BaseTools/Source/C/BrotliCompress/README.md new file mode 100644 index 000000000000..01848adc170a --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/README.md @@ -0,0 +1,26 @@ +### Introduction + +Brotli is a generic-purpose lossless compression algorithm that compresses data +using a combination of a modern variant of the LZ77 algorithm, Huffman coding +and 2nd order context modeling, with a compression ratio comparable to the best +currently available general-purpose compression methods. It is similar in speed +with deflate but offers more dense compression. + +The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://www.ietf.org/rfc/rfc7932.txt). + +Brotli is open-sourced under the MIT License, see the LICENSE file. + +Brotli mailing list: +https://groups.google.com/forum/#!forum/brotli + +[![Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli) + +### Benchmarks +* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/) +* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html) +* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark) + +### Related projects +Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification. + +JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli` diff --git a/BaseTools/Source/C/BrotliCompress/common/constants.h b/BaseTools/Source/C/BrotliCompress/common/constants.h new file mode 100644 index 000000000000..f82a89bb81d5 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/common/constants.h @@ -0,0 +1,47 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#ifndef BROTLI_COMMON_CONSTANTS_H_ +#define BROTLI_COMMON_CONSTANTS_H_ + +/* Specification: 7.3. Encoding of the context map */ +#define BROTLI_CONTEXT_MAP_MAX_RLE 16 + +/* Specification: 2. Compressed representation overview */ +#define BROTLI_MAX_NUMBER_OF_BLOCK_TYPES 256 + +/* Specification: 3.3. Alphabet sizes: insert-and-copy length */ +#define BROTLI_NUM_LITERAL_SYMBOLS 256 +#define BROTLI_NUM_COMMAND_SYMBOLS 704 +#define BROTLI_NUM_BLOCK_LEN_SYMBOLS 26 +#define BROTLI_MAX_CONTEXT_MAP_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + \ + BROTLI_CONTEXT_MAP_MAX_RLE) +#define BROTLI_MAX_BLOCK_TYPE_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + 2) + +/* Specification: 3.5. Complex prefix codes */ +#define BROTLI_REPEAT_PREVIOUS_CODE_LENGTH 16 +#define BROTLI_REPEAT_ZERO_CODE_LENGTH 17 +#define BROTLI_CODE_LENGTH_CODES (BROTLI_REPEAT_ZERO_CODE_LENGTH + 1) +/* "code length of 8 is repeated" */ +#define BROTLI_INITIAL_REPEATED_CODE_LENGTH 8 + +/* Specification: 4. Encoding of distances */ +#define BROTLI_NUM_DISTANCE_SHORT_CODES 16 +#define BROTLI_MAX_NPOSTFIX 3 +#define BROTLI_MAX_NDIRECT 120 +/* BROTLI_NUM_DISTANCE_SYMBOLS == 520 */ +#define BROTLI_NUM_DISTANCE_SYMBOLS (BROTLI_NUM_DISTANCE_SHORT_CODES + \ + BROTLI_MAX_NDIRECT + \ + (24 << (BROTLI_MAX_NPOSTFIX + 1))) + +/* 7.1. Context modes and context ID lookup for literals */ +/* "context IDs for literals are in the range of 0..63" */ +#define BROTLI_LITERAL_CONTEXT_BITS 6 + +/* 7.2. Context ID for distances */ +#define BROTLI_DISTANCE_CONTEXT_BITS 2 + +#endif /* BROTLI_COMMON_CONSTANTS_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/common/dictionary.c b/BaseTools/Source/C/BrotliCompress/common/dictionary.c new file mode 100644 index 000000000000..58c88d2b4679 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/common/dictionary.c @@ -0,0 +1,9474 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include "./dictionary.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +const uint32_t kBrotliDictionaryOffsetsByLength[] = { + 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, + 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, + 122016 +}; + +const uint8_t kBrotliDictionarySizeBitsByLength[] = { + 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, + 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5, +}; + +const uint8_t kBrotliDictionary[122784] = { + 0x74, 0x69, 0x6d, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x66, 0x65, 0x6c, + 0x65, 0x66, 0x74, 0x62, 0x61, 0x63, 0x6b, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x68, 0x6f, 0x77, 0x6f, 0x6e, 0x6c, 0x79, 0x73, 0x69, 0x74, + 0x65, 0x63, 0x69, 0x74, 0x79, 0x6f, 0x70, 0x65, 0x6e, 0x6a, 0x75, 0x73, 0x74, + 0x6c, 0x69, 0x6b, 0x65, 0x66, 0x72, 0x65, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x74, + 0x65, 0x78, 0x74, 0x79, 0x65, 0x61, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x62, 0x6f, + 0x64, 0x79, 0x6c, 0x6f, 0x76, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x6f, 0x6f, + 0x6b, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x76, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x68, 0x65, 0x6c, 0x70, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6d, + 0x6f, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x64, 0x6c, 0x6f, 0x6e, 0x67, 0x74, 0x68, + 0x65, 0x6d, 0x76, 0x69, 0x65, 0x77, 0x66, 0x69, 0x6e, 0x64, 0x70, 0x61, 0x67, + 0x65, 0x64, 0x61, 0x79, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x68, 0x65, 0x61, 0x64, + 0x74, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x63, 0x68, 0x61, 0x72, 0x65, 0x61, 0x66, + 0x72, 0x6f, 0x6d, 0x74, 0x72, 0x75, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x62, + 0x6c, 0x65, 0x75, 0x70, 0x6f, 0x6e, 0x68, 0x69, 0x67, 0x68, 0x64, 0x61, 0x74, + 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x6e, 0x65, 0x77, 0x73, 0x65, 0x76, 0x65, 0x6e, + 0x6e, 0x65, 0x78, 0x74, 0x63, 0x61, 0x73, 0x65, 0x62, 0x6f, 0x74, 0x68, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x64, 0x65, 0x68, 0x61, + 0x6e, 0x64, 0x68, 0x65, 0x72, 0x65, 0x77, 0x68, 0x61, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x62, 0x6c, 0x6f, 0x67, 0x73, 0x69, 0x7a, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x68, 0x65, 0x6c, 0x64, 0x6d, 0x61, 0x6b, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x75, 0x73, 0x65, 0x72, 0x27, 0x29, 0x20, 0x2b, 0x68, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x77, 0x69, 0x74, 0x68, 0x4e, 0x65, 0x77, + 0x73, 0x72, 0x65, 0x61, 0x64, 0x77, 0x65, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, + 0x74, 0x61, 0x6b, 0x65, 0x68, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x73, + 0x65, 0x65, 0x6e, 0x63, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x74, 0x68, 0x77, 0x65, + 0x6c, 0x6c, 0x70, 0x6c, 0x75, 0x73, 0x6d, 0x65, 0x6e, 0x75, 0x66, 0x69, 0x6c, + 0x6d, 0x70, 0x61, 0x72, 0x74, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x68, 0x69, 0x73, + 0x6c, 0x69, 0x73, 0x74, 0x67, 0x6f, 0x6f, 0x64, 0x6e, 0x65, 0x65, 0x64, 0x77, + 0x61, 0x79, 0x73, 0x77, 0x65, 0x73, 0x74, 0x6a, 0x6f, 0x62, 0x73, 0x6d, 0x69, + 0x6e, 0x64, 0x61, 0x6c, 0x73, 0x6f, 0x6c, 0x6f, 0x67, 0x6f, 0x72, 0x69, 0x63, + 0x68, 0x75, 0x73, 0x65, 0x73, 0x6c, 0x61, 0x73, 0x74, 0x74, 0x65, 0x61, 0x6d, + 0x61, 0x72, 0x6d, 0x79, 0x66, 0x6f, 0x6f, 0x64, 0x6b, 0x69, 0x6e, 0x67, 0x77, + 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x77, 0x61, 0x72, 0x64, 0x62, 0x65, + 0x73, 0x74, 0x66, 0x69, 0x72, 0x65, 0x50, 0x61, 0x67, 0x65, 0x6b, 0x6e, 0x6f, + 0x77, 0x61, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x6e, 0x67, 0x6d, 0x6f, 0x76, 0x65, + 0x74, 0x68, 0x61, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x67, 0x69, 0x76, 0x65, 0x73, + 0x65, 0x6c, 0x66, 0x6e, 0x6f, 0x74, 0x65, 0x6d, 0x75, 0x63, 0x68, 0x66, 0x65, + 0x65, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x6f, 0x63, 0x6b, 0x69, 0x63, 0x6f, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x6c, 0x6f, 0x6f, 0x6b, 0x68, 0x69, 0x64, 0x65, + 0x64, 0x69, 0x65, 0x64, 0x48, 0x6f, 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x68, + 0x6f, 0x73, 0x74, 0x61, 0x6a, 0x61, 0x78, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, + 0x75, 0x62, 0x6c, 0x61, 0x77, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x68, 0x61, 0x6c, + 0x66, 0x73, 0x6f, 0x6d, 0x65, 0x73, 0x75, 0x63, 0x68, 0x7a, 0x6f, 0x6e, 0x65, + 0x31, 0x30, 0x30, 0x25, 0x6f, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x72, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x61, 0x63, 0x65, 0x62, 0x6c, 0x75, 0x65, 0x66, 0x6f, + 0x75, 0x72, 0x77, 0x65, 0x65, 0x6b, 0x66, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x70, + 0x65, 0x67, 0x61, 0x76, 0x65, 0x68, 0x61, 0x72, 0x64, 0x6c, 0x6f, 0x73, 0x74, + 0x77, 0x68, 0x65, 0x6e, 0x70, 0x61, 0x72, 0x6b, 0x6b, 0x65, 0x70, 0x74, 0x70, + 0x61, 0x73, 0x73, 0x73, 0x68, 0x69, 0x70, 0x72, 0x6f, 0x6f, 0x6d, 0x48, 0x54, + 0x4d, 0x4c, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x6f, 0x6e, + 0x65, 0x73, 0x61, 0x76, 0x65, 0x6b, 0x65, 0x65, 0x70, 0x66, 0x6c, 0x61, 0x67, + 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x6f, 0x6c, 0x64, 0x66, 0x69, 0x76, 0x65, 0x74, + 0x6f, 0x6f, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x74, 0x6f, 0x77, 0x6e, 0x6a, 0x75, + 0x6d, 0x70, 0x74, 0x68, 0x75, 0x73, 0x64, 0x61, 0x72, 0x6b, 0x63, 0x61, 0x72, + 0x64, 0x66, 0x69, 0x6c, 0x65, 0x66, 0x65, 0x61, 0x72, 0x73, 0x74, 0x61, 0x79, + 0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x68, 0x61, 0x74, 0x66, 0x61, 0x6c, 0x6c, 0x61, + 0x75, 0x74, 0x6f, 0x65, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x74, 0x61, + 0x6c, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x65, 0x65, + 0x70, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x73, 0x74, 0x74, 0x75, 0x72, 0x6e, + 0x62, 0x6f, 0x72, 0x6e, 0x62, 0x61, 0x6e, 0x64, 0x66, 0x65, 0x6c, 0x6c, 0x72, + 0x6f, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x28, 0x73, 0x6b, 0x69, 0x6e, 0x72, 0x6f, + 0x6c, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x61, 0x63, 0x74, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x6d, 0x65, 0x65, 0x74, 0x67, 0x6f, 0x6c, 0x64, 0x2e, 0x6a, 0x70, 0x67, + 0x69, 0x74, 0x65, 0x6d, 0x76, 0x61, 0x72, 0x79, 0x66, 0x65, 0x6c, 0x74, 0x74, + 0x68, 0x65, 0x6e, 0x73, 0x65, 0x6e, 0x64, 0x64, 0x72, 0x6f, 0x70, 0x56, 0x69, + 0x65, 0x77, 0x63, 0x6f, 0x70, 0x79, 0x31, 0x2e, 0x30, 0x22, 0x3c, 0x2f, 0x61, + 0x3e, 0x73, 0x74, 0x6f, 0x70, 0x65, 0x6c, 0x73, 0x65, 0x6c, 0x69, 0x65, 0x73, + 0x74, 0x6f, 0x75, 0x72, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x69, 0x66, 0x70, + 0x61, 0x73, 0x74, 0x63, 0x73, 0x73, 0x3f, 0x67, 0x72, 0x61, 0x79, 0x6d, 0x65, + 0x61, 0x6e, 0x26, 0x67, 0x74, 0x3b, 0x72, 0x69, 0x64, 0x65, 0x73, 0x68, 0x6f, + 0x74, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x61, 0x69, 0x64, 0x72, 0x6f, 0x61, 0x64, + 0x76, 0x61, 0x72, 0x20, 0x66, 0x65, 0x65, 0x6c, 0x6a, 0x6f, 0x68, 0x6e, 0x72, + 0x69, 0x63, 0x6b, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x61, 0x73, 0x74, 0x27, 0x55, + 0x41, 0x2d, 0x64, 0x65, 0x61, 0x64, 0x3c, 0x2f, 0x62, 0x3e, 0x70, 0x6f, 0x6f, + 0x72, 0x62, 0x69, 0x6c, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x55, 0x2e, 0x53, 0x2e, + 0x77, 0x6f, 0x6f, 0x64, 0x6d, 0x75, 0x73, 0x74, 0x32, 0x70, 0x78, 0x3b, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x77, 0x69, 0x64, 0x65, 0x77, 0x61, + 0x6e, 0x74, 0x77, 0x61, 0x6c, 0x6c, 0x6c, 0x65, 0x61, 0x64, 0x5b, 0x30, 0x5d, + 0x3b, 0x70, 0x61, 0x75, 0x6c, 0x77, 0x61, 0x76, 0x65, 0x73, 0x75, 0x72, 0x65, + 0x24, 0x28, 0x27, 0x23, 0x77, 0x61, 0x69, 0x74, 0x6d, 0x61, 0x73, 0x73, 0x61, + 0x72, 0x6d, 0x73, 0x67, 0x6f, 0x65, 0x73, 0x67, 0x61, 0x69, 0x6e, 0x6c, 0x61, + 0x6e, 0x67, 0x70, 0x61, 0x69, 0x64, 0x21, 0x2d, 0x2d, 0x20, 0x6c, 0x6f, 0x63, + 0x6b, 0x75, 0x6e, 0x69, 0x74, 0x72, 0x6f, 0x6f, 0x74, 0x77, 0x61, 0x6c, 0x6b, + 0x66, 0x69, 0x72, 0x6d, 0x77, 0x69, 0x66, 0x65, 0x78, 0x6d, 0x6c, 0x22, 0x73, + 0x6f, 0x6e, 0x67, 0x74, 0x65, 0x73, 0x74, 0x32, 0x30, 0x70, 0x78, 0x6b, 0x69, + 0x6e, 0x64, 0x72, 0x6f, 0x77, 0x73, 0x74, 0x6f, 0x6f, 0x6c, 0x66, 0x6f, 0x6e, + 0x74, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x6d, 0x61, 0x70, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x61, 0x69, 0x6e, 0x66, + 0x6c, 0x6f, 0x77, 0x62, 0x61, 0x62, 0x79, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x61, + 0x79, 0x73, 0x34, 0x70, 0x78, 0x3b, 0x36, 0x70, 0x78, 0x3b, 0x61, 0x72, 0x74, + 0x73, 0x66, 0x6f, 0x6f, 0x74, 0x72, 0x65, 0x61, 0x6c, 0x77, 0x69, 0x6b, 0x69, + 0x68, 0x65, 0x61, 0x74, 0x73, 0x74, 0x65, 0x70, 0x74, 0x72, 0x69, 0x70, 0x6f, + 0x72, 0x67, 0x2f, 0x6c, 0x61, 0x6b, 0x65, 0x77, 0x65, 0x61, 0x6b, 0x74, 0x6f, + 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x66, 0x61, 0x6e, + 0x73, 0x62, 0x61, 0x6e, 0x6b, 0x76, 0x65, 0x72, 0x79, 0x72, 0x75, 0x6e, 0x73, + 0x6a, 0x75, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x31, 0x70, 0x78, 0x3b, 0x67, + 0x6f, 0x61, 0x6c, 0x67, 0x72, 0x65, 0x77, 0x73, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x67, 0x65, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x74, 0x73, 0x35, 0x70, 0x78, + 0x3b, 0x2e, 0x6a, 0x73, 0x3f, 0x34, 0x30, 0x70, 0x78, 0x69, 0x66, 0x20, 0x28, + 0x73, 0x6f, 0x6f, 0x6e, 0x73, 0x65, 0x61, 0x74, 0x6e, 0x6f, 0x6e, 0x65, 0x74, + 0x75, 0x62, 0x65, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x65, + 0x65, 0x64, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x74, 0x6f, 0x67, 0x69, 0x66, + 0x74, 0x68, 0x61, 0x72, 0x6d, 0x31, 0x38, 0x70, 0x78, 0x63, 0x61, 0x6d, 0x65, + 0x68, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x6c, 0x64, 0x7a, 0x6f, 0x6f, 0x6d, 0x76, + 0x6f, 0x69, 0x64, 0x65, 0x61, 0x73, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x66, 0x69, + 0x6c, 0x6c, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x69, 0x74, 0x63, 0x6f, 0x73, + 0x74, 0x33, 0x70, 0x78, 0x3b, 0x6a, 0x61, 0x63, 0x6b, 0x74, 0x61, 0x67, 0x73, + 0x62, 0x69, 0x74, 0x73, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x69, 0x74, 0x6b, + 0x6e, 0x65, 0x77, 0x6e, 0x65, 0x61, 0x72, 0x3c, 0x21, 0x2d, 0x2d, 0x67, 0x72, + 0x6f, 0x77, 0x4a, 0x53, 0x4f, 0x4e, 0x64, 0x75, 0x74, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x61, 0x6c, 0x65, 0x79, 0x6f, 0x75, 0x20, 0x6c, 0x6f, 0x74, 0x73, + 0x70, 0x61, 0x69, 0x6e, 0x6a, 0x61, 0x7a, 0x7a, 0x63, 0x6f, 0x6c, 0x64, 0x65, + 0x79, 0x65, 0x73, 0x66, 0x69, 0x73, 0x68, 0x77, 0x77, 0x77, 0x2e, 0x72, 0x69, + 0x73, 0x6b, 0x74, 0x61, 0x62, 0x73, 0x70, 0x72, 0x65, 0x76, 0x31, 0x30, 0x70, + 0x78, 0x72, 0x69, 0x73, 0x65, 0x32, 0x35, 0x70, 0x78, 0x42, 0x6c, 0x75, 0x65, + 0x64, 0x69, 0x6e, 0x67, 0x33, 0x30, 0x30, 0x2c, 0x62, 0x61, 0x6c, 0x6c, 0x66, + 0x6f, 0x72, 0x64, 0x65, 0x61, 0x72, 0x6e, 0x77, 0x69, 0x6c, 0x64, 0x62, 0x6f, + 0x78, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x6c, 0x61, 0x63, 0x6b, 0x76, 0x65, 0x72, + 0x73, 0x70, 0x61, 0x69, 0x72, 0x6a, 0x75, 0x6e, 0x65, 0x74, 0x65, 0x63, 0x68, + 0x69, 0x66, 0x28, 0x21, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x76, 0x69, 0x6c, 0x24, + 0x28, 0x22, 0x23, 0x77, 0x61, 0x72, 0x6d, 0x6c, 0x6f, 0x72, 0x64, 0x64, 0x6f, + 0x65, 0x73, 0x70, 0x75, 0x6c, 0x6c, 0x2c, 0x30, 0x30, 0x30, 0x69, 0x64, 0x65, + 0x61, 0x64, 0x72, 0x61, 0x77, 0x68, 0x75, 0x67, 0x65, 0x73, 0x70, 0x6f, 0x74, + 0x66, 0x75, 0x6e, 0x64, 0x62, 0x75, 0x72, 0x6e, 0x68, 0x72, 0x65, 0x66, 0x63, + 0x65, 0x6c, 0x6c, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x68, 0x6f, + 0x75, 0x72, 0x6c, 0x6f, 0x73, 0x73, 0x66, 0x75, 0x65, 0x6c, 0x31, 0x32, 0x70, + 0x78, 0x73, 0x75, 0x69, 0x74, 0x64, 0x65, 0x61, 0x6c, 0x52, 0x53, 0x53, 0x22, + 0x61, 0x67, 0x65, 0x64, 0x67, 0x72, 0x65, 0x79, 0x47, 0x45, 0x54, 0x22, 0x65, + 0x61, 0x73, 0x65, 0x61, 0x69, 0x6d, 0x73, 0x67, 0x69, 0x72, 0x6c, 0x61, 0x69, + 0x64, 0x73, 0x38, 0x70, 0x78, 0x3b, 0x6e, 0x61, 0x76, 0x79, 0x67, 0x72, 0x69, + 0x64, 0x74, 0x69, 0x70, 0x73, 0x23, 0x39, 0x39, 0x39, 0x77, 0x61, 0x72, 0x73, + 0x6c, 0x61, 0x64, 0x79, 0x63, 0x61, 0x72, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x70, + 0x68, 0x70, 0x3f, 0x68, 0x65, 0x6c, 0x6c, 0x74, 0x61, 0x6c, 0x6c, 0x77, 0x68, + 0x6f, 0x6d, 0x7a, 0x68, 0x3a, 0xe5, 0x2a, 0x2f, 0x0d, 0x0a, 0x20, 0x31, 0x30, + 0x30, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x41, 0x37, 0x70, 0x78, 0x3b, + 0x70, 0x75, 0x73, 0x68, 0x63, 0x68, 0x61, 0x74, 0x30, 0x70, 0x78, 0x3b, 0x63, + 0x72, 0x65, 0x77, 0x2a, 0x2f, 0x3c, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x37, 0x35, + 0x70, 0x78, 0x66, 0x6c, 0x61, 0x74, 0x72, 0x61, 0x72, 0x65, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x65, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x70, 0x6f, 0x6e, 0x74, 0x6f, + 0x6c, 0x61, 0x69, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x73, 0x6b, 0x69, 0x70, 0x74, + 0x65, 0x6e, 0x74, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x67, 0x65, + 0x74, 0x73, 0x70, 0x6c, 0x6f, 0x74, 0x34, 0x30, 0x30, 0x2c, 0x0d, 0x0a, 0x0d, + 0x0a, 0x63, 0x6f, 0x6f, 0x6c, 0x66, 0x65, 0x65, 0x74, 0x2e, 0x70, 0x68, 0x70, + 0x3c, 0x62, 0x72, 0x3e, 0x65, 0x72, 0x69, 0x63, 0x6d, 0x6f, 0x73, 0x74, 0x67, + 0x75, 0x69, 0x64, 0x62, 0x65, 0x6c, 0x6c, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61, + 0x69, 0x72, 0x6d, 0x61, 0x74, 0x68, 0x61, 0x74, 0x6f, 0x6d, 0x2f, 0x69, 0x6d, + 0x67, 0x26, 0x23, 0x38, 0x32, 0x6c, 0x75, 0x63, 0x6b, 0x63, 0x65, 0x6e, 0x74, + 0x30, 0x30, 0x30, 0x3b, 0x74, 0x69, 0x6e, 0x79, 0x67, 0x6f, 0x6e, 0x65, 0x68, + 0x74, 0x6d, 0x6c, 0x73, 0x65, 0x6c, 0x6c, 0x64, 0x72, 0x75, 0x67, 0x46, 0x52, + 0x45, 0x45, 0x6e, 0x6f, 0x64, 0x65, 0x6e, 0x69, 0x63, 0x6b, 0x3f, 0x69, 0x64, + 0x3d, 0x6c, 0x6f, 0x73, 0x65, 0x6e, 0x75, 0x6c, 0x6c, 0x76, 0x61, 0x73, 0x74, + 0x77, 0x69, 0x6e, 0x64, 0x52, 0x53, 0x53, 0x20, 0x77, 0x65, 0x61, 0x72, 0x72, + 0x65, 0x6c, 0x79, 0x62, 0x65, 0x65, 0x6e, 0x73, 0x61, 0x6d, 0x65, 0x64, 0x75, + 0x6b, 0x65, 0x6e, 0x61, 0x73, 0x61, 0x63, 0x61, 0x70, 0x65, 0x77, 0x69, 0x73, + 0x68, 0x67, 0x75, 0x6c, 0x66, 0x54, 0x32, 0x33, 0x3a, 0x68, 0x69, 0x74, 0x73, + 0x73, 0x6c, 0x6f, 0x74, 0x67, 0x61, 0x74, 0x65, 0x6b, 0x69, 0x63, 0x6b, 0x62, + 0x6c, 0x75, 0x72, 0x74, 0x68, 0x65, 0x79, 0x31, 0x35, 0x70, 0x78, 0x27, 0x27, + 0x29, 0x3b, 0x29, 0x3b, 0x22, 0x3e, 0x6d, 0x73, 0x69, 0x65, 0x77, 0x69, 0x6e, + 0x73, 0x62, 0x69, 0x72, 0x64, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x65, 0x74, 0x61, + 0x73, 0x65, 0x65, 0x6b, 0x54, 0x31, 0x38, 0x3a, 0x6f, 0x72, 0x64, 0x73, 0x74, + 0x72, 0x65, 0x65, 0x6d, 0x61, 0x6c, 0x6c, 0x36, 0x30, 0x70, 0x78, 0x66, 0x61, + 0x72, 0x6d, 0xe2, 0x80, 0x99, 0x73, 0x62, 0x6f, 0x79, 0x73, 0x5b, 0x30, 0x5d, + 0x2e, 0x27, 0x29, 0x3b, 0x22, 0x50, 0x4f, 0x53, 0x54, 0x62, 0x65, 0x61, 0x72, + 0x6b, 0x69, 0x64, 0x73, 0x29, 0x3b, 0x7d, 0x7d, 0x6d, 0x61, 0x72, 0x79, 0x74, + 0x65, 0x6e, 0x64, 0x28, 0x55, 0x4b, 0x29, 0x71, 0x75, 0x61, 0x64, 0x7a, 0x68, + 0x3a, 0xe6, 0x2d, 0x73, 0x69, 0x7a, 0x2d, 0x2d, 0x2d, 0x2d, 0x70, 0x72, 0x6f, + 0x70, 0x27, 0x29, 0x3b, 0x0d, 0x6c, 0x69, 0x66, 0x74, 0x54, 0x31, 0x39, 0x3a, + 0x76, 0x69, 0x63, 0x65, 0x61, 0x6e, 0x64, 0x79, 0x64, 0x65, 0x62, 0x74, 0x3e, + 0x52, 0x53, 0x53, 0x70, 0x6f, 0x6f, 0x6c, 0x6e, 0x65, 0x63, 0x6b, 0x62, 0x6c, + 0x6f, 0x77, 0x54, 0x31, 0x36, 0x3a, 0x64, 0x6f, 0x6f, 0x72, 0x65, 0x76, 0x61, + 0x6c, 0x54, 0x31, 0x37, 0x3a, 0x6c, 0x65, 0x74, 0x73, 0x66, 0x61, 0x69, 0x6c, + 0x6f, 0x72, 0x61, 0x6c, 0x70, 0x6f, 0x6c, 0x6c, 0x6e, 0x6f, 0x76, 0x61, 0x63, + 0x6f, 0x6c, 0x73, 0x67, 0x65, 0x6e, 0x65, 0x20, 0xe2, 0x80, 0x94, 0x73, 0x6f, + 0x66, 0x74, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6c, 0x6c, 0x72, 0x6f, 0x73, + 0x73, 0x3c, 0x68, 0x33, 0x3e, 0x70, 0x6f, 0x75, 0x72, 0x66, 0x61, 0x64, 0x65, + 0x70, 0x69, 0x6e, 0x6b, 0x3c, 0x74, 0x72, 0x3e, 0x6d, 0x69, 0x6e, 0x69, 0x29, + 0x7c, 0x21, 0x28, 0x6d, 0x69, 0x6e, 0x65, 0x7a, 0x68, 0x3a, 0xe8, 0x62, 0x61, + 0x72, 0x73, 0x68, 0x65, 0x61, 0x72, 0x30, 0x30, 0x29, 0x3b, 0x6d, 0x69, 0x6c, + 0x6b, 0x20, 0x2d, 0x2d, 0x3e, 0x69, 0x72, 0x6f, 0x6e, 0x66, 0x72, 0x65, 0x64, + 0x64, 0x69, 0x73, 0x6b, 0x77, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x69, 0x6c, 0x70, + 0x75, 0x74, 0x73, 0x2f, 0x6a, 0x73, 0x2f, 0x68, 0x6f, 0x6c, 0x79, 0x54, 0x32, + 0x32, 0x3a, 0x49, 0x53, 0x42, 0x4e, 0x54, 0x32, 0x30, 0x3a, 0x61, 0x64, 0x61, + 0x6d, 0x73, 0x65, 0x65, 0x73, 0x3c, 0x68, 0x32, 0x3e, 0x6a, 0x73, 0x6f, 0x6e, + 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x54, 0x32, 0x31, 0x3a, 0x20, + 0x52, 0x53, 0x53, 0x6c, 0x6f, 0x6f, 0x70, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x6f, + 0x6f, 0x6e, 0x3c, 0x2f, 0x70, 0x3e, 0x73, 0x6f, 0x75, 0x6c, 0x4c, 0x49, 0x4e, + 0x45, 0x66, 0x6f, 0x72, 0x74, 0x63, 0x61, 0x72, 0x74, 0x54, 0x31, 0x34, 0x3a, + 0x3c, 0x68, 0x31, 0x3e, 0x38, 0x30, 0x70, 0x78, 0x21, 0x2d, 0x2d, 0x3c, 0x39, + 0x70, 0x78, 0x3b, 0x54, 0x30, 0x34, 0x3a, 0x6d, 0x69, 0x6b, 0x65, 0x3a, 0x34, + 0x36, 0x5a, 0x6e, 0x69, 0x63, 0x65, 0x69, 0x6e, 0x63, 0x68, 0x59, 0x6f, 0x72, + 0x6b, 0x72, 0x69, 0x63, 0x65, 0x7a, 0x68, 0x3a, 0xe4, 0x27, 0x29, 0x29, 0x3b, + 0x70, 0x75, 0x72, 0x65, 0x6d, 0x61, 0x67, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x6f, 0x6e, 0x65, 0x62, 0x6f, 0x6e, 0x64, 0x3a, 0x33, 0x37, 0x5a, 0x5f, 0x6f, + 0x66, 0x5f, 0x27, 0x5d, 0x29, 0x3b, 0x30, 0x30, 0x30, 0x2c, 0x7a, 0x68, 0x3a, + 0xe7, 0x74, 0x61, 0x6e, 0x6b, 0x79, 0x61, 0x72, 0x64, 0x62, 0x6f, 0x77, 0x6c, + 0x62, 0x75, 0x73, 0x68, 0x3a, 0x35, 0x36, 0x5a, 0x4a, 0x61, 0x76, 0x61, 0x33, + 0x30, 0x70, 0x78, 0x0a, 0x7c, 0x7d, 0x0a, 0x25, 0x43, 0x33, 0x25, 0x3a, 0x33, + 0x34, 0x5a, 0x6a, 0x65, 0x66, 0x66, 0x45, 0x58, 0x50, 0x49, 0x63, 0x61, 0x73, + 0x68, 0x76, 0x69, 0x73, 0x61, 0x67, 0x6f, 0x6c, 0x66, 0x73, 0x6e, 0x6f, 0x77, + 0x7a, 0x68, 0x3a, 0xe9, 0x71, 0x75, 0x65, 0x72, 0x2e, 0x63, 0x73, 0x73, 0x73, + 0x69, 0x63, 0x6b, 0x6d, 0x65, 0x61, 0x74, 0x6d, 0x69, 0x6e, 0x2e, 0x62, 0x69, + 0x6e, 0x64, 0x64, 0x65, 0x6c, 0x6c, 0x68, 0x69, 0x72, 0x65, 0x70, 0x69, 0x63, + 0x73, 0x72, 0x65, 0x6e, 0x74, 0x3a, 0x33, 0x36, 0x5a, 0x48, 0x54, 0x54, 0x50, + 0x2d, 0x32, 0x30, 0x31, 0x66, 0x6f, 0x74, 0x6f, 0x77, 0x6f, 0x6c, 0x66, 0x45, + 0x4e, 0x44, 0x20, 0x78, 0x62, 0x6f, 0x78, 0x3a, 0x35, 0x34, 0x5a, 0x42, 0x4f, + 0x44, 0x59, 0x64, 0x69, 0x63, 0x6b, 0x3b, 0x0a, 0x7d, 0x0a, 0x65, 0x78, 0x69, + 0x74, 0x3a, 0x33, 0x35, 0x5a, 0x76, 0x61, 0x72, 0x73, 0x62, 0x65, 0x61, 0x74, + 0x27, 0x7d, 0x29, 0x3b, 0x64, 0x69, 0x65, 0x74, 0x39, 0x39, 0x39, 0x3b, 0x61, + 0x6e, 0x6e, 0x65, 0x7d, 0x7d, 0x3c, 0x2f, 0x5b, 0x69, 0x5d, 0x2e, 0x4c, 0x61, + 0x6e, 0x67, 0x6b, 0x6d, 0xc2, 0xb2, 0x77, 0x69, 0x72, 0x65, 0x74, 0x6f, 0x79, + 0x73, 0x61, 0x64, 0x64, 0x73, 0x73, 0x65, 0x61, 0x6c, 0x61, 0x6c, 0x65, 0x78, + 0x3b, 0x0a, 0x09, 0x7d, 0x65, 0x63, 0x68, 0x6f, 0x6e, 0x69, 0x6e, 0x65, 0x2e, + 0x6f, 0x72, 0x67, 0x30, 0x30, 0x35, 0x29, 0x74, 0x6f, 0x6e, 0x79, 0x6a, 0x65, + 0x77, 0x73, 0x73, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x67, 0x73, 0x72, 0x6f, 0x6f, + 0x66, 0x30, 0x30, 0x30, 0x29, 0x20, 0x32, 0x30, 0x30, 0x77, 0x69, 0x6e, 0x65, + 0x67, 0x65, 0x61, 0x72, 0x64, 0x6f, 0x67, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x67, + 0x61, 0x72, 0x79, 0x63, 0x75, 0x74, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x6d, 0x6c, 0x63, 0x6f, 0x63, + 0x6b, 0x67, 0x61, 0x6e, 0x67, 0x24, 0x28, 0x27, 0x2e, 0x35, 0x30, 0x70, 0x78, + 0x50, 0x68, 0x2e, 0x44, 0x6d, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x6e, 0x6c, + 0x6f, 0x61, 0x6e, 0x64, 0x65, 0x73, 0x6b, 0x6d, 0x69, 0x6c, 0x65, 0x72, 0x79, + 0x61, 0x6e, 0x75, 0x6e, 0x69, 0x78, 0x64, 0x69, 0x73, 0x63, 0x29, 0x3b, 0x7d, + 0x0a, 0x64, 0x75, 0x73, 0x74, 0x63, 0x6c, 0x69, 0x70, 0x29, 0x2e, 0x0a, 0x0a, + 0x37, 0x30, 0x70, 0x78, 0x2d, 0x32, 0x30, 0x30, 0x44, 0x56, 0x44, 0x73, 0x37, + 0x5d, 0x3e, 0x3c, 0x74, 0x61, 0x70, 0x65, 0x64, 0x65, 0x6d, 0x6f, 0x69, 0x2b, + 0x2b, 0x29, 0x77, 0x61, 0x67, 0x65, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x68, 0x69, + 0x6c, 0x6f, 0x70, 0x74, 0x73, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x41, 0x51, 0x73, + 0x61, 0x73, 0x69, 0x6e, 0x2d, 0x32, 0x36, 0x54, 0x6c, 0x61, 0x62, 0x73, 0x70, + 0x65, 0x74, 0x73, 0x55, 0x52, 0x4c, 0x20, 0x62, 0x75, 0x6c, 0x6b, 0x63, 0x6f, + 0x6f, 0x6b, 0x3b, 0x7d, 0x0d, 0x0a, 0x48, 0x45, 0x41, 0x44, 0x5b, 0x30, 0x5d, + 0x29, 0x61, 0x62, 0x62, 0x72, 0x6a, 0x75, 0x61, 0x6e, 0x28, 0x31, 0x39, 0x38, + 0x6c, 0x65, 0x73, 0x68, 0x74, 0x77, 0x69, 0x6e, 0x3c, 0x2f, 0x69, 0x3e, 0x73, + 0x6f, 0x6e, 0x79, 0x67, 0x75, 0x79, 0x73, 0x66, 0x75, 0x63, 0x6b, 0x70, 0x69, + 0x70, 0x65, 0x7c, 0x2d, 0x0a, 0x21, 0x30, 0x30, 0x32, 0x29, 0x6e, 0x64, 0x6f, + 0x77, 0x5b, 0x31, 0x5d, 0x3b, 0x5b, 0x5d, 0x3b, 0x0a, 0x4c, 0x6f, 0x67, 0x20, + 0x73, 0x61, 0x6c, 0x74, 0x0d, 0x0a, 0x09, 0x09, 0x62, 0x61, 0x6e, 0x67, 0x74, + 0x72, 0x69, 0x6d, 0x62, 0x61, 0x74, 0x68, 0x29, 0x7b, 0x0d, 0x0a, 0x30, 0x30, + 0x70, 0x78, 0x0a, 0x7d, 0x29, 0x3b, 0x6b, 0x6f, 0x3a, 0xec, 0x66, 0x65, 0x65, + 0x73, 0x61, 0x64, 0x3e, 0x0d, 0x73, 0x3a, 0x2f, 0x2f, 0x20, 0x5b, 0x5d, 0x3b, + 0x74, 0x6f, 0x6c, 0x6c, 0x70, 0x6c, 0x75, 0x67, 0x28, 0x29, 0x7b, 0x0a, 0x7b, + 0x0d, 0x0a, 0x20, 0x2e, 0x6a, 0x73, 0x27, 0x32, 0x30, 0x30, 0x70, 0x64, 0x75, + 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x74, 0x2e, 0x4a, 0x50, 0x47, 0x29, 0x3b, 0x0a, + 0x7d, 0x71, 0x75, 0x6f, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x27, 0x29, 0x3b, 0x0a, + 0x0d, 0x0a, 0x7d, 0x0d, 0x32, 0x30, 0x31, 0x34, 0x32, 0x30, 0x31, 0x35, 0x32, + 0x30, 0x31, 0x36, 0x32, 0x30, 0x31, 0x37, 0x32, 0x30, 0x31, 0x38, 0x32, 0x30, + 0x31, 0x39, 0x32, 0x30, 0x32, 0x30, 0x32, 0x30, 0x32, 0x31, 0x32, 0x30, 0x32, + 0x32, 0x32, 0x30, 0x32, 0x33, 0x32, 0x30, 0x32, 0x34, 0x32, 0x30, 0x32, 0x35, + 0x32, 0x30, 0x32, 0x36, 0x32, 0x30, 0x32, 0x37, 0x32, 0x30, 0x32, 0x38, 0x32, + 0x30, 0x32, 0x39, 0x32, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x31, 0x32, 0x30, + 0x33, 0x32, 0x32, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x34, 0x32, 0x30, 0x33, + 0x35, 0x32, 0x30, 0x33, 0x36, 0x32, 0x30, 0x33, 0x37, 0x32, 0x30, 0x31, 0x33, + 0x32, 0x30, 0x31, 0x32, 0x32, 0x30, 0x31, 0x31, 0x32, 0x30, 0x31, 0x30, 0x32, + 0x30, 0x30, 0x39, 0x32, 0x30, 0x30, 0x38, 0x32, 0x30, 0x30, 0x37, 0x32, 0x30, + 0x30, 0x36, 0x32, 0x30, 0x30, 0x35, 0x32, 0x30, 0x30, 0x34, 0x32, 0x30, 0x30, + 0x33, 0x32, 0x30, 0x30, 0x32, 0x32, 0x30, 0x30, 0x31, 0x32, 0x30, 0x30, 0x30, + 0x31, 0x39, 0x39, 0x39, 0x31, 0x39, 0x39, 0x38, 0x31, 0x39, 0x39, 0x37, 0x31, + 0x39, 0x39, 0x36, 0x31, 0x39, 0x39, 0x35, 0x31, 0x39, 0x39, 0x34, 0x31, 0x39, + 0x39, 0x33, 0x31, 0x39, 0x39, 0x32, 0x31, 0x39, 0x39, 0x31, 0x31, 0x39, 0x39, + 0x30, 0x31, 0x39, 0x38, 0x39, 0x31, 0x39, 0x38, 0x38, 0x31, 0x39, 0x38, 0x37, + 0x31, 0x39, 0x38, 0x36, 0x31, 0x39, 0x38, 0x35, 0x31, 0x39, 0x38, 0x34, 0x31, + 0x39, 0x38, 0x33, 0x31, 0x39, 0x38, 0x32, 0x31, 0x39, 0x38, 0x31, 0x31, 0x39, + 0x38, 0x30, 0x31, 0x39, 0x37, 0x39, 0x31, 0x39, 0x37, 0x38, 0x31, 0x39, 0x37, + 0x37, 0x31, 0x39, 0x37, 0x36, 0x31, 0x39, 0x37, 0x35, 0x31, 0x39, 0x37, 0x34, + 0x31, 0x39, 0x37, 0x33, 0x31, 0x39, 0x37, 0x32, 0x31, 0x39, 0x37, 0x31, 0x31, + 0x39, 0x37, 0x30, 0x31, 0x39, 0x36, 0x39, 0x31, 0x39, 0x36, 0x38, 0x31, 0x39, + 0x36, 0x37, 0x31, 0x39, 0x36, 0x36, 0x31, 0x39, 0x36, 0x35, 0x31, 0x39, 0x36, + 0x34, 0x31, 0x39, 0x36, 0x33, 0x31, 0x39, 0x36, 0x32, 0x31, 0x39, 0x36, 0x31, + 0x31, 0x39, 0x36, 0x30, 0x31, 0x39, 0x35, 0x39, 0x31, 0x39, 0x35, 0x38, 0x31, + 0x39, 0x35, 0x37, 0x31, 0x39, 0x35, 0x36, 0x31, 0x39, 0x35, 0x35, 0x31, 0x39, + 0x35, 0x34, 0x31, 0x39, 0x35, 0x33, 0x31, 0x39, 0x35, 0x32, 0x31, 0x39, 0x35, + 0x31, 0x31, 0x39, 0x35, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x34, + 0x31, 0x33, 0x39, 0x34, 0x30, 0x30, 0x30, 0x30, 0x39, 0x39, 0x39, 0x39, 0x63, + 0x6f, 0x6d, 0x6f, 0x6d, 0xc3, 0xa1, 0x73, 0x65, 0x73, 0x74, 0x65, 0x65, 0x73, + 0x74, 0x61, 0x70, 0x65, 0x72, 0x6f, 0x74, 0x6f, 0x64, 0x6f, 0x68, 0x61, 0x63, + 0x65, 0x63, 0x61, 0x64, 0x61, 0x61, 0xc3, 0xb1, 0x6f, 0x62, 0x69, 0x65, 0x6e, + 0x64, 0xc3, 0xad, 0x61, 0x61, 0x73, 0xc3, 0xad, 0x76, 0x69, 0x64, 0x61, 0x63, + 0x61, 0x73, 0x6f, 0x6f, 0x74, 0x72, 0x6f, 0x66, 0x6f, 0x72, 0x6f, 0x73, 0x6f, + 0x6c, 0x6f, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x75, 0x61, 0x6c, 0x64, 0x69, 0x6a, + 0x6f, 0x73, 0x69, 0x64, 0x6f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x70, 0x6f, + 0x74, 0x65, 0x6d, 0x61, 0x64, 0x65, 0x62, 0x65, 0x61, 0x6c, 0x67, 0x6f, 0x71, + 0x75, 0xc3, 0xa9, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x61, 0x64, 0x61, 0x74, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x63, 0x6f, 0x63, 0x61, 0x73, 0x61, 0x62, 0x61, 0x6a, + 0x6f, 0x74, 0x6f, 0x64, 0x61, 0x73, 0x69, 0x6e, 0x6f, 0x61, 0x67, 0x75, 0x61, + 0x70, 0x75, 0x65, 0x73, 0x75, 0x6e, 0x6f, 0x73, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x69, 0x63, 0x65, 0x6c, 0x75, 0x69, 0x73, 0x65, 0x6c, 0x6c, 0x61, 0x6d, 0x61, + 0x79, 0x6f, 0x7a, 0x6f, 0x6e, 0x61, 0x61, 0x6d, 0x6f, 0x72, 0x70, 0x69, 0x73, + 0x6f, 0x6f, 0x62, 0x72, 0x61, 0x63, 0x6c, 0x69, 0x63, 0x65, 0x6c, 0x6c, 0x6f, + 0x64, 0x69, 0x6f, 0x73, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x61, 0x73, 0x69, 0xd0, + 0xb7, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x80, + 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, + 0xb5, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb7, + 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, + 0xb6, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0x9d, + 0xd0, 0xb0, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbc, 0xd1, + 0x8b, 0xd0, 0x92, 0xd1, 0x8b, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, + 0x9f, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xa0, + 0xd0, 0xa4, 0xd0, 0x9d, 0xd0, 0xb5, 0xd0, 0x9c, 0xd1, 0x8b, 0xd1, 0x82, 0xd1, + 0x8b, 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0x97, 0xd0, 0xb0, 0xd0, 0x94, 0xd0, 0xb0, 0xd0, 0x9d, 0xd1, 0x83, 0xd0, + 0x9e, 0xd0, 0xb1, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0x98, 0xd0, 0xb7, 0xd0, 0xb5, + 0xd0, 0xb9, 0xd0, 0xbd, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xa2, 0xd1, + 0x8b, 0xd1, 0x83, 0xd0, 0xb6, 0xd9, 0x81, 0xd9, 0x8a, 0xd8, 0xa3, 0xd9, 0x86, + 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x83, 0xd9, 0x84, 0xd8, + 0xa3, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x81, + 0xd9, 0x89, 0xd9, 0x87, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, + 0x83, 0xd8, 0xa7, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa8, 0xd8, 0xb3, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd9, 0x86, 0xd9, 0x87, 0xd9, 0x8a, 0xd8, + 0xa3, 0xd9, 0x8a, 0xd9, 0x82, 0xd8, 0xaf, 0xd9, 0x87, 0xd9, 0x84, 0xd8, 0xab, + 0xd9, 0x85, 0xd8, 0xa8, 0xd9, 0x87, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x84, 0xd9, + 0x8a, 0xd8, 0xa8, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x8a, 0xd8, 0xa8, 0xd9, 0x83, + 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa3, 0xd9, 0x85, 0xd9, + 0x86, 0xd8, 0xaa, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x84, 0xd9, 0x86, 0xd8, 0xad, + 0xd8, 0xa8, 0xd9, 0x87, 0xd9, 0x85, 0xd9, 0x85, 0xd8, 0xb4, 0xd9, 0x88, 0xd8, + 0xb4, 0x66, 0x69, 0x72, 0x73, 0x74, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x77, 0x68, 0x69, 0x74, 0x65, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x62, 0x6c, 0x61, + 0x63, 0x6b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x75, 0x73, 0x69, + 0x63, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x68, 0x6f, 0x75, + 0x73, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x79, + 0x65, 0x61, 0x72, 0x73, 0x73, 0x74, 0x61, 0x74, 0x65, 0x74, 0x6f, 0x64, 0x61, + 0x79, 0x77, 0x61, 0x74, 0x65, 0x72, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x64, 0x65, 0x61, 0x74, 0x68, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x74, + 0x65, 0x72, 0x6d, 0x73, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x77, 0x6f, 0x72, 0x64, 0x73, + 0x67, 0x61, 0x6d, 0x65, 0x73, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x67, 0x75, 0x69, 0x64, + 0x65, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x77, 0x6f, + 0x6d, 0x65, 0x6e, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x79, 0x6f, 0x75, + 0x6e, 0x67, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x66, 0x72, 0x6f, 0x6e, + 0x74, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x70, 0x72, 0x69, 0x63, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x62, 0x65, 0x67, 0x69, 0x6e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x76, 0x69, 0x73, + 0x69, 0x74, 0x69, 0x73, 0x73, 0x75, 0x65, 0x61, 0x72, 0x65, 0x61, 0x73, 0x62, + 0x65, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x70, 0x72, 0x65, 0x73, 0x73, 0x62, 0x75, 0x69, 0x6c, 0x74, + 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x73, 0x70, 0x65, 0x65, 0x64, 0x73, 0x74, 0x75, + 0x64, 0x79, 0x74, 0x72, 0x61, 0x64, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x65, 0x6e, 0x73, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x77, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x61, 0x64, + 0x64, 0x65, 0x64, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x66, 0x6c, 0x61, + 0x73, 0x68, 0x66, 0x69, 0x78, 0x65, 0x64, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x72, 0x69, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x73, 0x68, 0x61, 0x70, 0x65, + 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x65, 0x78, 0x69, 0x73, 0x74, 0x67, 0x6f, 0x69, + 0x6e, 0x67, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x74, 0x68, 0x69, 0x72, 0x64, 0x62, + 0x61, 0x73, 0x69, 0x63, 0x70, 0x65, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x69, 0x64, + 0x65, 0x61, 0x73, 0x77, 0x72, 0x6f, 0x74, 0x65, 0x70, 0x61, 0x67, 0x65, 0x73, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x64, 0x72, 0x69, 0x76, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x73, 0x69, 0x74, 0x65, 0x73, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x77, 0x68, 0x65, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x65, 0x61, 0x72, 0x74, 0x68, 0x66, 0x6f, 0x72, 0x75, 0x6d, + 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x6c, + 0x69, 0x76, 0x65, 0x73, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x63, 0x6f, 0x75, 0x72, 0x74, + 0x79, 0x6f, 0x75, 0x72, 0x20, 0x62, 0x69, 0x72, 0x74, 0x68, 0x70, 0x6f, 0x70, + 0x75, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x75, 0x70, 0x70, 0x65, + 0x72, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x65, 0x76, 0x65, 0x72, 0x79, 0x73, 0x68, + 0x6f, 0x77, 0x73, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x62, 0x65, 0x67, 0x61, 0x6e, 0x73, + 0x75, 0x70, 0x65, 0x72, 0x70, 0x61, 0x70, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x74, + 0x68, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x72, 0x6d, 0x73, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x62, 0x72, 0x61, + 0x6e, 0x64, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x72, 0x65, 0x61, 0x64, 0x79, 0x61, 0x75, 0x64, 0x69, + 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x64, 0x61, 0x69, 0x6c, 0x79, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x75, + 0x6e, 0x69, 0x74, 0x73, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x70, + 0x70, 0x6c, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x73, 0x63, 0x65, 0x6e, 0x65, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x63, 0x6c, 0x69, + 0x63, 0x6b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x71, 0x75, 0x65, 0x65, 0x6e, 0x70, + 0x69, 0x65, 0x63, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x63, 0x61, 0x63, 0x68, 0x65, 0x63, 0x69, 0x76, 0x69, 0x6c, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x68, 0x65, + 0x6d, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x72, 0x6f, 0x79, 0x61, 0x6c, 0x61, 0x73, 0x6b, 0x65, + 0x64, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x74, + 0x6f, 0x63, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x61, 0x69, 0x74, 0x68, + 0x68, 0x65, 0x61, 0x72, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x6f, 0x66, 0x66, + 0x65, 0x72, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x6d, + 0x69, 0x67, 0x68, 0x74, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x74, 0x68, 0x69, 0x6e, + 0x6b, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x61, 0x72, 0x72, 0x61, 0x79, 0x6d, 0x61, + 0x6a, 0x6f, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x63, 0x61, 0x6e, 0x6f, 0x6e, + 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x68, 0x61, 0x70, 0x70, 0x79, 0x6f, 0x63, 0x63, 0x75, + 0x72, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x66, 0x72, 0x65, 0x73, 0x68, 0x71, 0x75, + 0x69, 0x74, 0x65, 0x66, 0x69, 0x6c, 0x6d, 0x73, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x6e, 0x65, 0x65, 0x64, 0x73, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x66, 0x69, 0x67, + 0x68, 0x74, 0x62, 0x61, 0x73, 0x69, 0x73, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x61, + 0x75, 0x74, 0x6f, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x68, 0x74, 0x6d, + 0x6c, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x59, 0x6f, + 0x75, 0x72, 0x20, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x62, 0x72, 0x6f, 0x77, 0x6e, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x64, 0x72, 0x61, + 0x77, 0x6e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x72, 0x65, 0x61, 0x63, 0x68, 0x52, + 0x69, 0x67, 0x68, 0x74, 0x64, 0x61, 0x74, 0x65, 0x73, 0x6d, 0x61, 0x72, 0x63, + 0x68, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x64, 0x6f, 0x75, 0x62, 0x74, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x74, 0x68, 0x75, 0x6d, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x63, 0x68, 0x69, + 0x65, 0x66, 0x79, 0x6f, 0x75, 0x74, 0x68, 0x6e, 0x6f, 0x76, 0x65, 0x6c, 0x31, + 0x30, 0x70, 0x78, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x75, 0x6e, 0x74, 0x69, + 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x6a, 0x61, 0x6d, 0x65, 0x73, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x74, 0x77, 0x69, 0x63, 0x65, 0x30, 0x2c, 0x30, + 0x30, 0x30, 0x53, 0x74, 0x61, 0x72, 0x74, 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x73, + 0x6f, 0x6e, 0x67, 0x73, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x68, 0x69, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x70, 0x6f, + 0x73, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x77, 0x65, 0x65, 0x6b, 0x73, + 0x61, 0x76, 0x6f, 0x69, 0x64, 0x74, 0x68, 0x65, 0x73, 0x65, 0x6d, 0x69, 0x6c, + 0x65, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x6d, 0x61, 0x72, 0x6b, + 0x73, 0x72, 0x61, 0x74, 0x65, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x73, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x73, 0x74, 0x61, 0x72, 0x73, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x3c, 0x2f, 0x68, + 0x33, 0x3e, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x68, 0x65, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x77, 0x65, + 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x6f, + 0x6c, 0x69, 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x62, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x68, 0x69, 0x70, 0x73, 0x73, 0x74, 0x61, 0x66, 0x66, 0x74, 0x72, 0x69, + 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x66, + 0x61, 0x63, 0x74, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x2f, 0x2f, 0x2d, 0x2d, 0x3e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x65, 0x67, + 0x79, 0x70, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x31, 0x35, 0x70, 0x78, 0x3b, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x74, 0x72, 0x75, 0x65, 0x22, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x62, 0x6c, 0x6f, 0x67, 0x73, 0x62, + 0x6f, 0x78, 0x22, 0x3e, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x6c, 0x65, 0x61, 0x76, + 0x65, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x67, 0x75, + 0x65, 0x73, 0x74, 0x3c, 0x2f, 0x68, 0x34, 0x3e, 0x72, 0x6f, 0x62, 0x6f, 0x74, + 0x68, 0x65, 0x61, 0x76, 0x79, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x73, 0x65, 0x76, + 0x65, 0x6e, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x63, 0x72, 0x69, 0x6d, 0x65, 0x73, + 0x69, 0x67, 0x6e, 0x73, 0x61, 0x77, 0x61, 0x72, 0x65, 0x64, 0x61, 0x6e, 0x63, + 0x65, 0x70, 0x68, 0x61, 0x73, 0x65, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x65, 0x6e, + 0x5f, 0x55, 0x53, 0x26, 0x23, 0x33, 0x39, 0x3b, 0x32, 0x30, 0x30, 0x70, 0x78, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x6a, + 0x6f, 0x79, 0x61, 0x6a, 0x61, 0x78, 0x2e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x69, 0x74, 0x68, 0x55, 0x2e, 0x53, 0x2e, 0x20, 0x68, 0x6f, 0x6c, 0x64, + 0x73, 0x70, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, + 0x76, 0x22, 0x3e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x31, 0x39, 0x39, 0x30, 0x73, 0x72, + 0x6f, 0x6d, 0x61, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x6a, 0x61, 0x70, 0x61, + 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x61, 0x67, 0x72, 0x65, 0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e, + 0x61, 0x62, 0x75, 0x73, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x63, 0x61, 0x72, 0x64, 0x73, 0x68, + 0x69, 0x6c, 0x6c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x74, + 0x6f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x2e, 0x70, + 0x68, 0x70, 0x3f, 0x73, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x6c, + 0x6c, 0x6f, 0x75, 0x69, 0x73, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x70, 0x72, 0x6f, + 0x6f, 0x66, 0x62, 0x72, 0x69, 0x65, 0x66, 0x72, 0x6f, 0x77, 0x22, 0x3e, 0x67, + 0x65, 0x6e, 0x72, 0x65, 0x74, 0x72, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6b, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x6e, + 0x65, 0x74, 0x2f, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x74, 0x72, 0x79, 0x20, 0x7b, + 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x63, 0x6f, 0x73, + 0x74, 0x73, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x68, 0x65, 0x6c, 0x70, 0x73, 0x63, 0x61, 0x75, 0x73, 0x65, 0x6d, 0x61, + 0x67, 0x69, 0x63, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x69, 0x72, + 0x32, 0x35, 0x30, 0x70, 0x78, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x73, 0x74, 0x65, + 0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x67, + 0x6c, 0x61, 0x73, 0x73, 0x73, 0x69, 0x64, 0x65, 0x73, 0x66, 0x75, 0x6e, 0x64, + 0x73, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x61, 0x77, 0x61, 0x72, 0x64, 0x6d, 0x6f, + 0x75, 0x74, 0x68, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x70, 0x61, 0x72, 0x69, 0x73, + 0x67, 0x69, 0x76, 0x65, 0x73, 0x64, 0x75, 0x74, 0x63, 0x68, 0x74, 0x65, 0x78, + 0x61, 0x73, 0x66, 0x72, 0x75, 0x69, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x2c, 0x7c, + 0x7c, 0x5b, 0x5d, 0x3b, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x0a, 0x3c, 0x21, 0x2d, + 0x2d, 0x50, 0x4f, 0x53, 0x54, 0x22, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x3c, 0x62, + 0x72, 0x2f, 0x3e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x73, 0x70, 0x65, 0x61, 0x6b, + 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x62, 0x61, 0x6e, + 0x6b, 0x73, 0x63, 0x61, 0x74, 0x63, 0x68, 0x63, 0x68, 0x61, 0x72, 0x74, 0x32, + 0x30, 0x70, 0x78, 0x3b, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x64, 0x65, 0x61, 0x6c, + 0x73, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x75, 0x72, + 0x6c, 0x3d, 0x22, 0x70, 0x61, 0x72, 0x6b, 0x73, 0x6d, 0x6f, 0x75, 0x73, 0x65, + 0x4d, 0x6f, 0x73, 0x74, 0x20, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x61, 0x6d, 0x6f, + 0x6e, 0x67, 0x62, 0x72, 0x61, 0x69, 0x6e, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6e, + 0x6f, 0x6e, 0x65, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x64, 0x63, 0x61, 0x72, 0x72, + 0x79, 0x64, 0x72, 0x61, 0x66, 0x74, 0x72, 0x65, 0x66, 0x65, 0x72, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x64, 0x72, 0x65, 0x61, 0x6d, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x64, + 0x72, 0x75, 0x67, 0x73, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x72, 0x69, + 0x6c, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x65, 0x78, + 0x61, 0x63, 0x74, 0x66, 0x6f, 0x72, 0x74, 0x68, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x56, 0x69, 0x65, 0x77, 0x20, 0x73, 0x65, 0x65, + 0x6d, 0x73, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, + 0x28, 0x32, 0x30, 0x30, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x67, 0x6f, 0x61, 0x6c, 0x73, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x67, 0x72, + 0x65, 0x65, 0x6b, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x72, 0x69, 0x6e, 0x67, 0x73, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x33, 0x30, 0x70, 0x78, 0x3b, 0x77, 0x68, 0x6f, + 0x73, 0x65, 0x70, 0x61, 0x72, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x22, 0x20, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x6a, 0x6f, 0x6e, 0x65, + 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x27, 0x29, 0x3b, 0x22, 0x3e, 0x29, 0x3b, + 0x69, 0x66, 0x28, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x64, 0x61, 0x76, 0x69, 0x64, + 0x68, 0x6f, 0x72, 0x73, 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x72, 0x61, 0x69, + 0x73, 0x65, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x2f, 0x65, 0x6d, 0x3e, 0x62, 0x61, 0x72, 0x22, + 0x3e, 0x2e, 0x73, 0x72, 0x63, 0x3d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x61, 0x6c, + 0x74, 0x3d, 0x22, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x68, 0x65, 0x6e, 0x72, 0x79, + 0x32, 0x34, 0x70, 0x78, 0x3b, 0x73, 0x65, 0x74, 0x75, 0x70, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x73, 0x68, 0x61, 0x72, 0x70, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x74, + 0x61, 0x73, 0x74, 0x65, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x67, 0x69, + 0x72, 0x6c, 0x73, 0x2f, 0x63, 0x73, 0x73, 0x2f, 0x31, 0x30, 0x30, 0x25, 0x3b, + 0x63, 0x6c, 0x75, 0x62, 0x73, 0x73, 0x74, 0x75, 0x66, 0x66, 0x62, 0x69, 0x62, + 0x6c, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x6b, + 0x6f, 0x72, 0x65, 0x61, 0x7d, 0x29, 0x3b, 0x0d, 0x0a, 0x62, 0x61, 0x6e, 0x64, + 0x73, 0x71, 0x75, 0x65, 0x75, 0x65, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x38, 0x30, + 0x70, 0x78, 0x3b, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x7b, 0x0d, 0x0a, 0x09, 0x09, + 0x61, 0x68, 0x65, 0x61, 0x64, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x72, 0x69, + 0x73, 0x68, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x22, 0x79, 0x61, 0x68, 0x6f, + 0x6f, 0x29, 0x5b, 0x30, 0x5d, 0x3b, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x66, 0x69, + 0x6e, 0x64, 0x73, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x64, 0x65, 0x62, 0x75, 0x67, + 0x74, 0x61, 0x73, 0x6b, 0x73, 0x55, 0x52, 0x4c, 0x20, 0x3d, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x31, 0x32, 0x70, 0x78, 0x3b, 0x70, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x6c, 0x6c, 0x73, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x30, 0x78, 0x36, 0x30, 0x30, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x73, 0x70, + 0x61, 0x69, 0x6e, 0x62, 0x65, 0x61, 0x63, 0x68, 0x74, 0x61, 0x78, 0x65, 0x73, + 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x2d, 0x2d, 0x3e, + 0x3c, 0x2f, 0x67, 0x69, 0x66, 0x74, 0x73, 0x73, 0x74, 0x65, 0x76, 0x65, 0x2d, + 0x6c, 0x69, 0x6e, 0x6b, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x7d, 0x29, 0x3b, 0x0a, + 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x28, 0x31, 0x39, 0x39, 0x46, 0x41, + 0x51, 0x3c, 0x2f, 0x72, 0x6f, 0x67, 0x65, 0x72, 0x66, 0x72, 0x61, 0x6e, 0x6b, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x32, 0x38, 0x70, 0x78, 0x3b, 0x66, 0x65, 0x65, + 0x64, 0x73, 0x3c, 0x68, 0x31, 0x3e, 0x3c, 0x73, 0x63, 0x6f, 0x74, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x73, 0x32, 0x32, 0x70, 0x78, 0x3b, 0x64, 0x72, 0x69, 0x6e, + 0x6b, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x6c, 0x65, 0x77, 0x69, 0x73, 0x73, 0x68, + 0x61, 0x6c, 0x6c, 0x23, 0x30, 0x33, 0x39, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x6c, 0x6f, 0x76, 0x65, 0x64, 0x77, 0x61, 0x73, 0x74, 0x65, 0x30, 0x30, 0x70, + 0x78, 0x3b, 0x6a, 0x61, 0x3a, 0xe3, 0x82, 0x73, 0x69, 0x6d, 0x6f, 0x6e, 0x3c, + 0x66, 0x6f, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x6d, 0x65, 0x65, 0x74, + 0x73, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x65, 0x61, 0x70, 0x74, 0x69, + 0x67, 0x68, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x29, 0x20, 0x21, 0x3d, 0x20, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x72, 0x6f, 0x6f, + 0x6d, 0x73, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x6d, + 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6e, 0x6e, 0x79, 0x74, 0x72, 0x65, 0x65, 0x73, 0x63, 0x6f, + 0x6d, 0x2f, 0x22, 0x31, 0x2e, 0x6a, 0x70, 0x67, 0x77, 0x6d, 0x6f, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x6c, 0x65, 0x66, + 0x74, 0x20, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x2c, 0x20, 0x32, 0x30, 0x31, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x69, 0x72, 0x75, + 0x73, 0x63, 0x68, 0x61, 0x69, 0x72, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x77, 0x6f, + 0x72, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x6f, 0x2d, 0x63, + 0x61, 0x63, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x74, 0x6f, 0x75, 0x72, 0x73, 0x2c, + 0x30, 0x30, 0x30, 0x20, 0x61, 0x73, 0x69, 0x61, 0x6e, 0x69, 0x2b, 0x2b, 0x29, + 0x7b, 0x61, 0x64, 0x6f, 0x62, 0x65, 0x27, 0x29, 0x5b, 0x30, 0x5d, 0x69, 0x64, + 0x3d, 0x31, 0x30, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x6d, 0x65, 0x6e, 0x75, 0x20, + 0x2e, 0x32, 0x2e, 0x6d, 0x69, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x6b, 0x65, 0x76, + 0x69, 0x6e, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x62, + 0x72, 0x75, 0x63, 0x65, 0x32, 0x2e, 0x6a, 0x70, 0x67, 0x55, 0x52, 0x4c, 0x29, + 0x2b, 0x2e, 0x6a, 0x70, 0x67, 0x7c, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x6c, + 0x69, 0x63, 0x65, 0x68, 0x61, 0x72, 0x72, 0x79, 0x31, 0x32, 0x30, 0x22, 0x20, + 0x73, 0x77, 0x65, 0x65, 0x74, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x64, 0x69, 0x65, 0x67, 0x6f, 0x70, 0x61, 0x67, 0x65, 0x20, 0x73, + 0x77, 0x69, 0x73, 0x73, 0x2d, 0x2d, 0x3e, 0x0a, 0x0a, 0x23, 0x66, 0x66, 0x66, + 0x3b, 0x22, 0x3e, 0x4c, 0x6f, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x74, 0x72, + 0x65, 0x61, 0x74, 0x73, 0x68, 0x65, 0x65, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x31, 0x34, 0x70, 0x78, 0x3b, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x64, 0x6a, 0x61, 0x3a, 0xe3, 0x83, 0x69, + 0x64, 0x3d, 0x22, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x77, 0x6f, 0x72, 0x73, + 0x65, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2d, 0x62, 0x6f, 0x78, 0x2d, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x0a, 0x26, 0x6c, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x73, + 0x3a, 0x34, 0x38, 0x5a, 0x3c, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x75, 0x72, + 0x61, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x62, + 0x61, 0x6b, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x70, 0x73, 0x3d, 0x20, 0x22, 0x22, + 0x3b, 0x70, 0x68, 0x70, 0x22, 0x3e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x33, + 0x70, 0x78, 0x3b, 0x62, 0x72, 0x69, 0x61, 0x6e, 0x68, 0x65, 0x6c, 0x6c, 0x6f, + 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x6f, 0x3d, 0x25, 0x32, 0x46, 0x20, 0x6a, 0x6f, + 0x69, 0x6e, 0x6d, 0x61, 0x79, 0x62, 0x65, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x69, + 0x6d, 0x67, 0x22, 0x3e, 0x2c, 0x20, 0x66, 0x6a, 0x73, 0x69, 0x6d, 0x67, 0x22, + 0x20, 0x22, 0x29, 0x5b, 0x30, 0x5d, 0x4d, 0x54, 0x6f, 0x70, 0x42, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x44, 0x61, 0x6e, 0x73, 0x6b, + 0x63, 0x7a, 0x65, 0x63, 0x68, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x6b, 0x6e, 0x6f, + 0x77, 0x73, 0x3c, 0x2f, 0x68, 0x35, 0x3e, 0x66, 0x61, 0x71, 0x22, 0x3e, 0x7a, + 0x68, 0x2d, 0x63, 0x6e, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x2d, 0x31, 0x22, 0x29, + 0x3b, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x74, 0x72, + 0x75, 0x6c, 0x79, 0x64, 0x61, 0x76, 0x69, 0x73, 0x2e, 0x6a, 0x73, 0x27, 0x3b, + 0x3e, 0x0d, 0x0a, 0x3c, 0x21, 0x73, 0x74, 0x65, 0x65, 0x6c, 0x20, 0x79, 0x6f, + 0x75, 0x20, 0x68, 0x32, 0x3e, 0x0d, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6a, + 0x65, 0x73, 0x75, 0x73, 0x31, 0x30, 0x30, 0x25, 0x20, 0x6d, 0x65, 0x6e, 0x75, + 0x2e, 0x0d, 0x0a, 0x09, 0x0d, 0x0a, 0x77, 0x61, 0x6c, 0x65, 0x73, 0x72, 0x69, + 0x73, 0x6b, 0x73, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x62, 0x2d, 0x6c, 0x69, 0x6b, 0x74, 0x65, 0x61, 0x63, 0x68, 0x67, 0x69, 0x66, + 0x22, 0x20, 0x76, 0x65, 0x67, 0x61, 0x73, 0x64, 0x61, 0x6e, 0x73, 0x6b, 0x65, + 0x65, 0x73, 0x74, 0x69, 0x73, 0x68, 0x71, 0x69, 0x70, 0x73, 0x75, 0x6f, 0x6d, + 0x69, 0x73, 0x6f, 0x62, 0x72, 0x65, 0x64, 0x65, 0x73, 0x64, 0x65, 0x65, 0x6e, + 0x74, 0x72, 0x65, 0x74, 0x6f, 0x64, 0x6f, 0x73, 0x70, 0x75, 0x65, 0x64, 0x65, + 0x61, 0xc3, 0xb1, 0x6f, 0x73, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x74, 0x69, 0x65, + 0x6e, 0x65, 0x68, 0x61, 0x73, 0x74, 0x61, 0x6f, 0x74, 0x72, 0x6f, 0x73, 0x70, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x75, 0x65, 0x76, + 0x6f, 0x68, 0x61, 0x63, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6d, 0x69, + 0x73, 0x6d, 0x6f, 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x6d, 0x75, 0x6e, 0x64, 0x6f, + 0x61, 0x71, 0x75, 0xc3, 0xad, 0x64, 0xc3, 0xad, 0x61, 0x73, 0x73, 0xc3, 0xb3, + 0x6c, 0x6f, 0x61, 0x79, 0x75, 0x64, 0x61, 0x66, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x6f, 0x64, 0x61, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x65, 0x6e, 0x6f, + 0x73, 0x64, 0x61, 0x74, 0x6f, 0x73, 0x6f, 0x74, 0x72, 0x61, 0x73, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x6f, 0x61, 0x68, 0x6f, 0x72, 0x61, + 0x6c, 0x75, 0x67, 0x61, 0x72, 0x6d, 0x61, 0x79, 0x6f, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x73, 0x68, 0x6f, 0x72, 0x61, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x74, 0x65, 0x73, 0x66, 0x6f, 0x74, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x61, + 0x73, 0x70, 0x61, 0xc3, 0xad, 0x73, 0x6e, 0x75, 0x65, 0x76, 0x61, 0x73, 0x61, + 0x6c, 0x75, 0x64, 0x66, 0x6f, 0x72, 0x6f, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x6f, + 0x71, 0x75, 0x69, 0x65, 0x6e, 0x6d, 0x65, 0x73, 0x65, 0x73, 0x70, 0x6f, 0x64, + 0x65, 0x72, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0xc3, 0xa1, 0x76, + 0x65, 0x63, 0x65, 0x73, 0x64, 0x65, 0x63, 0x69, 0x72, 0x6a, 0x6f, 0x73, 0xc3, + 0xa9, 0x65, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x72, + 0x75, 0x70, 0x6f, 0x68, 0x65, 0x63, 0x68, 0x6f, 0x65, 0x6c, 0x6c, 0x6f, 0x73, + 0x74, 0x65, 0x6e, 0x67, 0x6f, 0x61, 0x6d, 0x69, 0x67, 0x6f, 0x63, 0x6f, 0x73, + 0x61, 0x73, 0x6e, 0x69, 0x76, 0x65, 0x6c, 0x67, 0x65, 0x6e, 0x74, 0x65, 0x6d, + 0x69, 0x73, 0x6d, 0x61, 0x61, 0x69, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6c, 0x69, + 0x6f, 0x74, 0x65, 0x6d, 0x61, 0x73, 0x68, 0x61, 0x63, 0x69, 0x61, 0x66, 0x61, + 0x76, 0x6f, 0x72, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x6c, 0x69, 0x62, 0x72, 0x65, + 0x70, 0x75, 0x6e, 0x74, 0x6f, 0x62, 0x75, 0x65, 0x6e, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x72, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x62, 0x75, 0x65, 0x6e, 0x61, 0x74, + 0x65, 0x78, 0x74, 0x6f, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x73, 0x61, 0x62, 0x65, + 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x6c, 0x75, 0x65, 0x67, 0x6f, 0x63, 0xc3, + 0xb3, 0x6d, 0x6f, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x6a, 0x75, 0x65, 0x67, 0x6f, + 0x70, 0x65, 0x72, 0xc3, 0xba, 0x68, 0x61, 0x62, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x79, 0x6e, 0x75, 0x6e, 0x63, 0x61, 0x6d, 0x75, 0x6a, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x6f, 0x72, 0x66, 0x75, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x62, 0x72, + 0x6f, 0x67, 0x75, 0x73, 0x74, 0x61, 0x69, 0x67, 0x75, 0x61, 0x6c, 0x76, 0x6f, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x73, 0x6f, 0x73, 0x67, 0x75, 0xc3, 0xad, 0x61, + 0x70, 0x75, 0x65, 0x64, 0x6f, 0x73, 0x6f, 0x6d, 0x6f, 0x73, 0x61, 0x76, 0x69, + 0x73, 0x6f, 0x75, 0x73, 0x74, 0x65, 0x64, 0x64, 0x65, 0x62, 0x65, 0x6e, 0x6e, + 0x6f, 0x63, 0x68, 0x65, 0x62, 0x75, 0x73, 0x63, 0x61, 0x66, 0x61, 0x6c, 0x74, + 0x61, 0x65, 0x75, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x72, 0x69, 0x65, 0x64, 0x69, + 0x63, 0x68, 0x6f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x63, 0x6c, 0x61, 0x76, 0x65, + 0x63, 0x61, 0x73, 0x61, 0x73, 0x6c, 0x65, 0xc3, 0xb3, 0x6e, 0x70, 0x6c, 0x61, + 0x7a, 0x6f, 0x6c, 0x61, 0x72, 0x67, 0x6f, 0x6f, 0x62, 0x72, 0x61, 0x73, 0x76, + 0x69, 0x73, 0x74, 0x61, 0x61, 0x70, 0x6f, 0x79, 0x6f, 0x6a, 0x75, 0x6e, 0x74, + 0x6f, 0x74, 0x72, 0x61, 0x74, 0x61, 0x76, 0x69, 0x73, 0x74, 0x6f, 0x63, 0x72, + 0x65, 0x61, 0x72, 0x63, 0x61, 0x6d, 0x70, 0x6f, 0x68, 0x65, 0x6d, 0x6f, 0x73, + 0x63, 0x69, 0x6e, 0x63, 0x6f, 0x63, 0x61, 0x72, 0x67, 0x6f, 0x70, 0x69, 0x73, + 0x6f, 0x73, 0x6f, 0x72, 0x64, 0x65, 0x6e, 0x68, 0x61, 0x63, 0x65, 0x6e, 0xc3, + 0xa1, 0x72, 0x65, 0x61, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x72, + 0x6f, 0x63, 0x65, 0x72, 0x63, 0x61, 0x70, 0x75, 0x65, 0x64, 0x61, 0x70, 0x61, + 0x70, 0x65, 0x6c, 0x6d, 0x65, 0x6e, 0x6f, 0x72, 0xc3, 0xba, 0x74, 0x69, 0x6c, + 0x63, 0x6c, 0x61, 0x72, 0x6f, 0x6a, 0x6f, 0x72, 0x67, 0x65, 0x63, 0x61, 0x6c, + 0x6c, 0x65, 0x70, 0x6f, 0x6e, 0x65, 0x72, 0x74, 0x61, 0x72, 0x64, 0x65, 0x6e, + 0x61, 0x64, 0x69, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x73, 0x69, 0x67, 0x75, + 0x65, 0x65, 0x6c, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6c, 0x6f, 0x63, 0x6f, + 0x63, 0x68, 0x65, 0x6d, 0x6f, 0x74, 0x6f, 0x73, 0x6d, 0x61, 0x64, 0x72, 0x65, + 0x63, 0x6c, 0x61, 0x73, 0x65, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x69, 0xc3, + 0xb1, 0x6f, 0x71, 0x75, 0x65, 0x64, 0x61, 0x70, 0x61, 0x73, 0x61, 0x72, 0x62, + 0x61, 0x6e, 0x63, 0x6f, 0x68, 0x69, 0x6a, 0x6f, 0x73, 0x76, 0x69, 0x61, 0x6a, + 0x65, 0x70, 0x61, 0x62, 0x6c, 0x6f, 0xc3, 0xa9, 0x73, 0x74, 0x65, 0x76, 0x69, + 0x65, 0x6e, 0x65, 0x72, 0x65, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x6a, 0x61, 0x72, + 0x66, 0x6f, 0x6e, 0x64, 0x6f, 0x63, 0x61, 0x6e, 0x61, 0x6c, 0x6e, 0x6f, 0x72, + 0x74, 0x65, 0x6c, 0x65, 0x74, 0x72, 0x61, 0x63, 0x61, 0x75, 0x73, 0x61, 0x74, + 0x6f, 0x6d, 0x61, 0x72, 0x6d, 0x61, 0x6e, 0x6f, 0x73, 0x6c, 0x75, 0x6e, 0x65, + 0x73, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x76, 0x65, + 0x6e, 0x64, 0x6f, 0x70, 0x65, 0x73, 0x61, 0x72, 0x74, 0x69, 0x70, 0x6f, 0x73, + 0x74, 0x65, 0x6e, 0x67, 0x61, 0x6d, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x76, 0x61, 0x70, 0x61, 0x64, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x64, 0x6f, 0x76, + 0x61, 0x6d, 0x6f, 0x73, 0x7a, 0x6f, 0x6e, 0x61, 0x73, 0x61, 0x6d, 0x62, 0x6f, + 0x73, 0x62, 0x61, 0x6e, 0x64, 0x61, 0x6d, 0x61, 0x72, 0x69, 0x61, 0x61, 0x62, + 0x75, 0x73, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x61, 0x73, 0x75, 0x62, 0x69, 0x72, + 0x72, 0x69, 0x6f, 0x6a, 0x61, 0x76, 0x69, 0x76, 0x69, 0x72, 0x67, 0x72, 0x61, + 0x64, 0x6f, 0x63, 0x68, 0x69, 0x63, 0x61, 0x61, 0x6c, 0x6c, 0xc3, 0xad, 0x6a, + 0x6f, 0x76, 0x65, 0x6e, 0x64, 0x69, 0x63, 0x68, 0x61, 0x65, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x61, 0x6c, 0x65, 0x73, 0x73, 0x61, 0x6c, 0x69, 0x72, 0x73, 0x75, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x66, 0x69, 0x6e, 0x65, 0x73, + 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x62, 0x75, 0x73, 0x63, 0x6f, 0xc3, 0xa9, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6e, 0x65, 0x67, 0x72, 0x6f, 0x70, + 0x6c, 0x61, 0x7a, 0x61, 0x68, 0x75, 0x6d, 0x6f, 0x72, 0x70, 0x61, 0x67, 0x61, + 0x72, 0x6a, 0x75, 0x6e, 0x74, 0x61, 0x64, 0x6f, 0x62, 0x6c, 0x65, 0x69, 0x73, + 0x6c, 0x61, 0x73, 0x62, 0x6f, 0x6c, 0x73, 0x61, 0x62, 0x61, 0xc3, 0xb1, 0x6f, + 0x68, 0x61, 0x62, 0x6c, 0x61, 0x6c, 0x75, 0x63, 0x68, 0x61, 0xc3, 0x81, 0x72, + 0x65, 0x61, 0x64, 0x69, 0x63, 0x65, 0x6e, 0x6a, 0x75, 0x67, 0x61, 0x72, 0x6e, + 0x6f, 0x74, 0x61, 0x73, 0x76, 0x61, 0x6c, 0x6c, 0x65, 0x61, 0x6c, 0x6c, 0xc3, + 0xa1, 0x63, 0x61, 0x72, 0x67, 0x61, 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x61, 0x62, + 0x61, 0x6a, 0x6f, 0x65, 0x73, 0x74, 0xc3, 0xa9, 0x67, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x6d, 0x61, 0x72, 0x69, 0x6f, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x63, 0x6f, 0x73, 0x74, 0x6f, 0x66, 0x69, 0x63, 0x68, 0x61, 0x70, + 0x6c, 0x61, 0x74, 0x61, 0x68, 0x6f, 0x67, 0x61, 0x72, 0x61, 0x72, 0x74, 0x65, + 0x73, 0x6c, 0x65, 0x79, 0x65, 0x73, 0x61, 0x71, 0x75, 0x65, 0x6c, 0x6d, 0x75, + 0x73, 0x65, 0x6f, 0x62, 0x61, 0x73, 0x65, 0x73, 0x70, 0x6f, 0x63, 0x6f, 0x73, + 0x6d, 0x69, 0x74, 0x61, 0x64, 0x63, 0x69, 0x65, 0x6c, 0x6f, 0x63, 0x68, 0x69, + 0x63, 0x6f, 0x6d, 0x69, 0x65, 0x64, 0x6f, 0x67, 0x61, 0x6e, 0x61, 0x72, 0x73, + 0x61, 0x6e, 0x74, 0x6f, 0x65, 0x74, 0x61, 0x70, 0x61, 0x64, 0x65, 0x62, 0x65, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x61, 0x72, 0x65, 0x64, 0x65, 0x73, 0x73, 0x69, + 0x65, 0x74, 0x65, 0x63, 0x6f, 0x72, 0x74, 0x65, 0x63, 0x6f, 0x72, 0x65, 0x61, + 0x64, 0x75, 0x64, 0x61, 0x73, 0x64, 0x65, 0x73, 0x65, 0x6f, 0x76, 0x69, 0x65, + 0x6a, 0x6f, 0x64, 0x65, 0x73, 0x65, 0x61, 0x61, 0x67, 0x75, 0x61, 0x73, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x6d, + 0x65, 0x64, 0x69, 0x75, 0x6d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x73, 0x63, 0x72, 0x65, + 0x65, 0x6e, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, + 0x70, 0x72, 0x69, 0x6e, 0x67, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x6d, 0x6f, + 0x62, 0x69, 0x6c, 0x65, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x70, 0x68, 0x6f, + 0x74, 0x6f, 0x73, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x6c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x73, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x6c, 0x65, 0x74, 0x74, 0x65, + 0x72, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x73, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x64, 0x65, 0x62, 0x61, 0x74, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x63, + 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x71, 0x75, 0x61, 0x72, + 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x77, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x74, 0x72, + 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x64, + 0x6f, 0x6e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x65, + 0x64, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x73, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x79, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x6b, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x66, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3e, + 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x76, + 0x61, 0x6c, 0x6c, 0x65, 0x79, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x6c, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x76, 0x69, + 0x73, 0x75, 0x61, 0x6c, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x75, 0x73, 0x65, + 0x75, 0x6d, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6d, 0x6f, 0x73, 0x74, 0x6c, 0x79, + 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x63, 0x68, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x62, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x6d, 0x6f, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6d, 0x6f, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x45, 0x75, + 0x72, 0x6f, 0x70, 0x65, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x65, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x63, 0x61, 0x72, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, + 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x73, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x74, + 0x68, 0x65, 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6d, 0x70, + 0x6c, 0x79, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x65, 0x73, 0x63, 0x61, 0x70, + 0x65, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x63, 0x68, 0x75, 0x72, 0x63, 0x68, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x73, + 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x62, 0x65, 0x74, 0x74, 0x65, 0x72, 0x62, 0x72, 0x6f, + 0x77, 0x73, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x77, 0x69, 0x64, 0x67, 0x65, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, + 0x6e, 0x6f, 0x77, 0x72, 0x61, 0x70, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x61, + 0x66, 0x65, 0x74, 0x79, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x70, 0x69, + 0x72, 0x69, 0x74, 0x2d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x70, 0x72, 0x65, + 0x61, 0x64, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x72, 0x75, 0x73, 0x73, 0x69, 0x61, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x62, + 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x63, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x62, 0x61, 0x73, + 0x65, 0x64, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x64, + 0x68, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x69, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x6c, + 0x77, 0x61, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0x20, 0x62, 0x6f, 0x74, + 0x74, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3e, 0x29, 0x7b, 0x76, 0x61, + 0x72, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28, + 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x62, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x52, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x62, 0x65, 0x61, 0x75, 0x74, + 0x79, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x66, 0x6f, 0x72, 0x67, 0x6f, 0x74, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x61, + 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x62, 0x69, + 0x6c, 0x65, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x63, + 0x6f, 0x75, 0x72, 0x73, 0x65, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x73, + 0x6c, 0x61, 0x6e, 0x64, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6d, 0x61, 0x7a, + 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x61, 0x64, 0x76, 0x69, 0x63, + 0x65, 0x69, 0x6e, 0x3c, 0x2f, 0x61, 0x3e, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x73, 0x42, + 0x45, 0x47, 0x49, 0x4e, 0x20, 0x4d, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x6c, 0x61, + 0x6e, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x45, 0x6d, 0x70, 0x69, 0x72, + 0x65, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x6d, + 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x0a, + 0x0a, 0x4f, 0x6e, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x6d, 0x65, 0x6e, + 0x75, 0x22, 0x3e, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x61, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x77, 0x65, + 0x65, 0x6b, 0x6c, 0x79, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x62, 0x65, 0x68, + 0x69, 0x6e, 0x64, 0x64, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x6c, 0x6f, 0x67, 0x67, + 0x65, 0x64, 0x75, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x3c, 0x2f, 0x62, 0x3e, 0x3c, + 0x2f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, + 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x33, 0x30, 0x30, 0x70, 0x78, 0x7c, 0x63, 0x61, + 0x6e, 0x61, 0x64, 0x61, 0x61, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x65, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x72, 0x61, 0x7a, + 0x69, 0x6c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x22, + 0x3e, 0x62, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x2d, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6d, + 0x61, 0x72, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x63, 0x61, + 0x6d, 0x65, 0x72, 0x61, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x0a, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x22, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x73, 0x74, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x2e, 0x67, 0x69, 0x66, 0x22, + 0x20, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, + 0x4f, 0x78, 0x66, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x75, 0x72, 0x76, 0x69, 0x76, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x66, 0x65, + 0x6d, 0x61, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x69, 0x7a, + 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x74, 0x65, 0x78, 0x74, + 0x22, 0x3e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x74, 0x68, 0x61, 0x6e, 0x6b, + 0x73, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, + 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x61, 0x6e, 0x79, 0x6f, 0x6e, 0x65, 0x41, + 0x66, 0x72, 0x69, 0x63, 0x61, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x72, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x3c, 0x62, 0x72, + 0x20, 0x2f, 0x3e, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x73, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x7c, 0x7c, 0x20, 0x7b, 0x7d, + 0x3b, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x75, 0x6e, 0x64, 0x61, 0x79, 0x77, 0x72, 0x61, 0x70, 0x22, 0x3e, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x6d, 0x69, + 0x6e, 0x75, 0x74, 0x65, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x73, 0x31, 0x35, 0x30, 0x70, 0x78, 0x7c, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3b, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x31, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x70, 0x72, + 0x69, 0x6e, 0x63, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x2e, 0x70, 0x6e, + 0x67, 0x22, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x26, + 0x61, 0x6d, 0x70, 0x3b, 0x20, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x2e, 0x20, + 0x57, 0x69, 0x74, 0x68, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x74, 0x6a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x61, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, + 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x6c, + 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x69, 0x73, + 0x72, 0x61, 0x65, 0x6c, 0x73, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x63, + 0x69, 0x64, 0x65, 0x68, 0x6f, 0x6d, 0x65, 0x22, 0x3e, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x64, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x3c, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x2d, 0x2d, + 0x26, 0x67, 0x74, 0x3b, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x73, 0x65, 0x78, + 0x75, 0x61, 0x6c, 0x62, 0x75, 0x72, 0x65, 0x61, 0x75, 0x2e, 0x6a, 0x70, 0x67, + 0x22, 0x20, 0x31, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x6f, 0x62, 0x74, 0x61, 0x69, + 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x63, 0x6f, 0x6d, 0x65, 0x64, 0x79, 0x6d, + 0x65, 0x6e, 0x75, 0x22, 0x20, 0x6c, 0x79, 0x72, 0x69, 0x63, 0x73, 0x74, 0x6f, + 0x64, 0x61, 0x79, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x65, 0x64, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x46, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x6c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x74, 0x75, 0x72, 0x6b, 0x65, 0x79, 0x29, 0x3b, 0x76, 0x61, 0x72, 0x20, 0x66, + 0x6f, 0x72, 0x65, 0x73, 0x74, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x65, 0x6c, + 0x73, 0x65, 0x7b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x67, + 0x3c, 0x2f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, + 0x2e, 0x66, 0x61, 0x73, 0x74, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x31, 0x30, 0x70, 0x78, 0x20, 0x30, 0x70, + 0x72, 0x61, 0x67, 0x6d, 0x61, 0x66, 0x72, 0x69, 0x64, 0x61, 0x79, 0x6a, 0x75, + 0x6e, 0x69, 0x6f, 0x72, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x35, 0x2c, 0x30, 0x30, 0x30, 0x20, 0x70, 0x61, 0x67, 0x65, 0x22, + 0x3e, 0x62, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x28, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x73, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x72, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x28, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, + 0x62, 0x6f, 0x64, 0x79, 0x22, 0x3e, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x54, + 0x68, 0x6f, 0x75, 0x67, 0x68, 0x73, 0x65, 0x65, 0x69, 0x6e, 0x67, 0x6a, 0x65, + 0x72, 0x73, 0x65, 0x79, 0x4e, 0x65, 0x77, 0x73, 0x3c, 0x2f, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x6a, 0x75, + 0x72, 0x79, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x43, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x53, 0x54, 0x41, 0x52, 0x54, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x70, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x62, 0x6f, + 0x78, 0x22, 0x3e, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x44, 0x61, + 0x76, 0x69, 0x64, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x41, 0x70, 0x72, 0x69, 0x6c, + 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x65, 0x6d, 0x22, 0x3e, 0x6d, 0x6f, 0x72, 0x65, 0x22, 0x3e, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x63, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x7c, 0x7c, 0x20, + 0x5b, 0x5d, 0x3b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x67, 0x75, 0x69, 0x74, + 0x61, 0x72, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3a, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x20, + 0x2e, 0x70, 0x68, 0x70, 0x22, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x77, 0x69, 0x6c, 0x73, 0x6f, 0x6e, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x72, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x73, 0x77, 0x65, + 0x64, 0x65, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x61, 0x73, 0x69, + 0x6c, 0x79, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x0a, 0x0a, 0x57, 0x68, 0x69, 0x6c, 0x74, 0x61, 0x79, 0x6c, 0x6f, 0x72, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x66, + 0x72, 0x65, 0x6e, 0x63, 0x68, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x29, + 0x20, 0x2b, 0x20, 0x22, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x62, 0x75, 0x79, + 0x69, 0x6e, 0x67, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x6f, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x35, 0x70, 0x78, 0x3b, 0x22, 0x3e, + 0x76, 0x73, 0x70, 0x61, 0x63, 0x65, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x6d, + 0x61, 0x6a, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x66, 0x66, 0x65, 0x65, 0x6d, 0x61, + 0x72, 0x74, 0x69, 0x6e, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x65, 0x68, 0x61, 0x70, + 0x70, 0x65, 0x6e, 0x3c, 0x2f, 0x6e, 0x61, 0x76, 0x3e, 0x6b, 0x61, 0x6e, 0x73, + 0x61, 0x73, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3e, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x3d, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, + 0x68, 0x73, 0x70, 0x61, 0x63, 0x65, 0x30, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x20, + 0x0a, 0x0a, 0x49, 0x6e, 0x20, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x50, 0x6f, + 0x6c, 0x73, 0x6b, 0x69, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6a, 0x6f, 0x72, + 0x64, 0x61, 0x6e, 0x42, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x20, 0x2d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x2e, 0x68, 0x74, 0x6d, + 0x6c, 0x6e, 0x65, 0x77, 0x73, 0x22, 0x3e, 0x30, 0x31, 0x2e, 0x6a, 0x70, 0x67, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6d, + 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x65, 0x6e, 0x69, 0x6f, 0x72, 0x49, 0x53, + 0x42, 0x4e, 0x20, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x20, 0x67, 0x75, 0x69, + 0x64, 0x65, 0x73, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, 0x2e, 0x78, 0x6d, 0x6c, 0x22, + 0x20, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x6d, 0x6c, + 0x2d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x72, 0x65, 0x67, 0x45, 0x78, 0x70, 0x3a, + 0x68, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x76, 0x69, + 0x72, 0x67, 0x69, 0x6e, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x3c, 0x2f, 0x74, + 0x72, 0x3e, 0x0d, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x0a, 0x09, 0x76, 0x61, + 0x72, 0x20, 0x3e, 0x27, 0x29, 0x3b, 0x0a, 0x09, 0x3c, 0x2f, 0x74, 0x64, 0x3e, + 0x0a, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x0a, 0x62, 0x61, 0x68, 0x61, 0x73, 0x61, + 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x67, 0x61, 0x6c, 0x65, 0x67, 0x6f, 0x6d, + 0x61, 0x67, 0x79, 0x61, 0x72, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x73, 0x72, + 0x70, 0x73, 0x6b, 0x69, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0xe4, 0xb8, 0xad, + 0xe6, 0x96, 0x87, 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0xe7, 0xb9, 0x81, 0xe9, + 0xab, 0x94, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe4, 0xb8, 0xad, 0xe5, 0x9b, + 0xbd, 0xe6, 0x88, 0x91, 0xe4, 0xbb, 0xac, 0xe4, 0xb8, 0x80, 0xe4, 0xb8, 0xaa, + 0xe5, 0x85, 0xac, 0xe5, 0x8f, 0xb8, 0xe7, 0xae, 0xa1, 0xe7, 0x90, 0x86, 0xe8, + 0xae, 0xba, 0xe5, 0x9d, 0x9b, 0xe5, 0x8f, 0xaf, 0xe4, 0xbb, 0xa5, 0xe6, 0x9c, + 0x8d, 0xe5, 0x8a, 0xa1, 0xe6, 0x97, 0xb6, 0xe9, 0x97, 0xb4, 0xe4, 0xb8, 0xaa, + 0xe4, 0xba, 0xba, 0xe4, 0xba, 0xa7, 0xe5, 0x93, 0x81, 0xe8, 0x87, 0xaa, 0xe5, + 0xb7, 0xb1, 0xe4, 0xbc, 0x81, 0xe4, 0xb8, 0x9a, 0xe6, 0x9f, 0xa5, 0xe7, 0x9c, + 0x8b, 0xe5, 0xb7, 0xa5, 0xe4, 0xbd, 0x9c, 0xe8, 0x81, 0x94, 0xe7, 0xb3, 0xbb, + 0xe6, 0xb2, 0xa1, 0xe6, 0x9c, 0x89, 0xe7, 0xbd, 0x91, 0xe7, 0xab, 0x99, 0xe6, + 0x89, 0x80, 0xe6, 0x9c, 0x89, 0xe8, 0xaf, 0x84, 0xe8, 0xae, 0xba, 0xe4, 0xb8, + 0xad, 0xe5, 0xbf, 0x83, 0xe6, 0x96, 0x87, 0xe7, 0xab, 0xa0, 0xe7, 0x94, 0xa8, + 0xe6, 0x88, 0xb7, 0xe9, 0xa6, 0x96, 0xe9, 0xa1, 0xb5, 0xe4, 0xbd, 0x9c, 0xe8, + 0x80, 0x85, 0xe6, 0x8a, 0x80, 0xe6, 0x9c, 0xaf, 0xe9, 0x97, 0xae, 0xe9, 0xa2, + 0x98, 0xe7, 0x9b, 0xb8, 0xe5, 0x85, 0xb3, 0xe4, 0xb8, 0x8b, 0xe8, 0xbd, 0xbd, + 0xe6, 0x90, 0x9c, 0xe7, 0xb4, 0xa2, 0xe4, 0xbd, 0xbf, 0xe7, 0x94, 0xa8, 0xe8, + 0xbd, 0xaf, 0xe4, 0xbb, 0xb6, 0xe5, 0x9c, 0xa8, 0xe7, 0xba, 0xbf, 0xe4, 0xb8, + 0xbb, 0xe9, 0xa2, 0x98, 0xe8, 0xb5, 0x84, 0xe6, 0x96, 0x99, 0xe8, 0xa7, 0x86, + 0xe9, 0xa2, 0x91, 0xe5, 0x9b, 0x9e, 0xe5, 0xa4, 0x8d, 0xe6, 0xb3, 0xa8, 0xe5, + 0x86, 0x8c, 0xe7, 0xbd, 0x91, 0xe7, 0xbb, 0x9c, 0xe6, 0x94, 0xb6, 0xe8, 0x97, + 0x8f, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe6, 0x8e, 0xa8, 0xe8, 0x8d, 0x90, + 0xe5, 0xb8, 0x82, 0xe5, 0x9c, 0xba, 0xe6, 0xb6, 0x88, 0xe6, 0x81, 0xaf, 0xe7, + 0xa9, 0xba, 0xe9, 0x97, 0xb4, 0xe5, 0x8f, 0x91, 0xe5, 0xb8, 0x83, 0xe4, 0xbb, + 0x80, 0xe4, 0xb9, 0x88, 0xe5, 0xa5, 0xbd, 0xe5, 0x8f, 0x8b, 0xe7, 0x94, 0x9f, + 0xe6, 0xb4, 0xbb, 0xe5, 0x9b, 0xbe, 0xe7, 0x89, 0x87, 0xe5, 0x8f, 0x91, 0xe5, + 0xb1, 0x95, 0xe5, 0xa6, 0x82, 0xe6, 0x9e, 0x9c, 0xe6, 0x89, 0x8b, 0xe6, 0x9c, + 0xba, 0xe6, 0x96, 0xb0, 0xe9, 0x97, 0xbb, 0xe6, 0x9c, 0x80, 0xe6, 0x96, 0xb0, + 0xe6, 0x96, 0xb9, 0xe5, 0xbc, 0x8f, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe6, + 0x8f, 0x90, 0xe4, 0xbe, 0x9b, 0xe5, 0x85, 0xb3, 0xe4, 0xba, 0x8e, 0xe6, 0x9b, + 0xb4, 0xe5, 0xa4, 0x9a, 0xe8, 0xbf, 0x99, 0xe4, 0xb8, 0xaa, 0xe7, 0xb3, 0xbb, + 0xe7, 0xbb, 0x9f, 0xe7, 0x9f, 0xa5, 0xe9, 0x81, 0x93, 0xe6, 0xb8, 0xb8, 0xe6, + 0x88, 0x8f, 0xe5, 0xb9, 0xbf, 0xe5, 0x91, 0x8a, 0xe5, 0x85, 0xb6, 0xe4, 0xbb, + 0x96, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8, 0xe5, 0xae, 0x89, 0xe5, 0x85, 0xa8, + 0xe7, 0xac, 0xac, 0xe4, 0xb8, 0x80, 0xe4, 0xbc, 0x9a, 0xe5, 0x91, 0x98, 0xe8, + 0xbf, 0x9b, 0xe8, 0xa1, 0x8c, 0xe7, 0x82, 0xb9, 0xe5, 0x87, 0xbb, 0xe7, 0x89, + 0x88, 0xe6, 0x9d, 0x83, 0xe7, 0x94, 0xb5, 0xe5, 0xad, 0x90, 0xe4, 0xb8, 0x96, + 0xe7, 0x95, 0x8c, 0xe8, 0xae, 0xbe, 0xe8, 0xae, 0xa1, 0xe5, 0x85, 0x8d, 0xe8, + 0xb4, 0xb9, 0xe6, 0x95, 0x99, 0xe8, 0x82, 0xb2, 0xe5, 0x8a, 0xa0, 0xe5, 0x85, + 0xa5, 0xe6, 0xb4, 0xbb, 0xe5, 0x8a, 0xa8, 0xe4, 0xbb, 0x96, 0xe4, 0xbb, 0xac, + 0xe5, 0x95, 0x86, 0xe5, 0x93, 0x81, 0xe5, 0x8d, 0x9a, 0xe5, 0xae, 0xa2, 0xe7, + 0x8e, 0xb0, 0xe5, 0x9c, 0xa8, 0xe4, 0xb8, 0x8a, 0xe6, 0xb5, 0xb7, 0xe5, 0xa6, + 0x82, 0xe4, 0xbd, 0x95, 0xe5, 0xb7, 0xb2, 0xe7, 0xbb, 0x8f, 0xe7, 0x95, 0x99, + 0xe8, 0xa8, 0x80, 0xe8, 0xaf, 0xa6, 0xe7, 0xbb, 0x86, 0xe7, 0xa4, 0xbe, 0xe5, + 0x8c, 0xba, 0xe7, 0x99, 0xbb, 0xe5, 0xbd, 0x95, 0xe6, 0x9c, 0xac, 0xe7, 0xab, + 0x99, 0xe9, 0x9c, 0x80, 0xe8, 0xa6, 0x81, 0xe4, 0xbb, 0xb7, 0xe6, 0xa0, 0xbc, + 0xe6, 0x94, 0xaf, 0xe6, 0x8c, 0x81, 0xe5, 0x9b, 0xbd, 0xe9, 0x99, 0x85, 0xe9, + 0x93, 0xbe, 0xe6, 0x8e, 0xa5, 0xe5, 0x9b, 0xbd, 0xe5, 0xae, 0xb6, 0xe5, 0xbb, + 0xba, 0xe8, 0xae, 0xbe, 0xe6, 0x9c, 0x8b, 0xe5, 0x8f, 0x8b, 0xe9, 0x98, 0x85, + 0xe8, 0xaf, 0xbb, 0xe6, 0xb3, 0x95, 0xe5, 0xbe, 0x8b, 0xe4, 0xbd, 0x8d, 0xe7, + 0xbd, 0xae, 0xe7, 0xbb, 0x8f, 0xe6, 0xb5, 0x8e, 0xe9, 0x80, 0x89, 0xe6, 0x8b, + 0xa9, 0xe8, 0xbf, 0x99, 0xe6, 0xa0, 0xb7, 0xe5, 0xbd, 0x93, 0xe5, 0x89, 0x8d, + 0xe5, 0x88, 0x86, 0xe7, 0xb1, 0xbb, 0xe6, 0x8e, 0x92, 0xe8, 0xa1, 0x8c, 0xe5, + 0x9b, 0xa0, 0xe4, 0xb8, 0xba, 0xe4, 0xba, 0xa4, 0xe6, 0x98, 0x93, 0xe6, 0x9c, + 0x80, 0xe5, 0x90, 0x8e, 0xe9, 0x9f, 0xb3, 0xe4, 0xb9, 0x90, 0xe4, 0xb8, 0x8d, + 0xe8, 0x83, 0xbd, 0xe9, 0x80, 0x9a, 0xe8, 0xbf, 0x87, 0xe8, 0xa1, 0x8c, 0xe4, + 0xb8, 0x9a, 0xe7, 0xa7, 0x91, 0xe6, 0x8a, 0x80, 0xe5, 0x8f, 0xaf, 0xe8, 0x83, + 0xbd, 0xe8, 0xae, 0xbe, 0xe5, 0xa4, 0x87, 0xe5, 0x90, 0x88, 0xe4, 0xbd, 0x9c, + 0xe5, 0xa4, 0xa7, 0xe5, 0xae, 0xb6, 0xe7, 0xa4, 0xbe, 0xe4, 0xbc, 0x9a, 0xe7, + 0xa0, 0x94, 0xe7, 0xa9, 0xb6, 0xe4, 0xb8, 0x93, 0xe4, 0xb8, 0x9a, 0xe5, 0x85, + 0xa8, 0xe9, 0x83, 0xa8, 0xe9, 0xa1, 0xb9, 0xe7, 0x9b, 0xae, 0xe8, 0xbf, 0x99, + 0xe9, 0x87, 0x8c, 0xe8, 0xbf, 0x98, 0xe6, 0x98, 0xaf, 0xe5, 0xbc, 0x80, 0xe5, + 0xa7, 0x8b, 0xe6, 0x83, 0x85, 0xe5, 0x86, 0xb5, 0xe7, 0x94, 0xb5, 0xe8, 0x84, + 0x91, 0xe6, 0x96, 0x87, 0xe4, 0xbb, 0xb6, 0xe5, 0x93, 0x81, 0xe7, 0x89, 0x8c, + 0xe5, 0xb8, 0xae, 0xe5, 0x8a, 0xa9, 0xe6, 0x96, 0x87, 0xe5, 0x8c, 0x96, 0xe8, + 0xb5, 0x84, 0xe6, 0xba, 0x90, 0xe5, 0xa4, 0xa7, 0xe5, 0xad, 0xa6, 0xe5, 0xad, + 0xa6, 0xe4, 0xb9, 0xa0, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, 0xe6, 0xb5, 0x8f, + 0xe8, 0xa7, 0x88, 0xe6, 0x8a, 0x95, 0xe8, 0xb5, 0x84, 0xe5, 0xb7, 0xa5, 0xe7, + 0xa8, 0x8b, 0xe8, 0xa6, 0x81, 0xe6, 0xb1, 0x82, 0xe6, 0x80, 0x8e, 0xe4, 0xb9, + 0x88, 0xe6, 0x97, 0xb6, 0xe5, 0x80, 0x99, 0xe5, 0x8a, 0x9f, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xbb, 0xe8, 0xa6, 0x81, 0xe7, 0x9b, 0xae, 0xe5, 0x89, 0x8d, 0xe8, + 0xb5, 0x84, 0xe8, 0xae, 0xaf, 0xe5, 0x9f, 0x8e, 0xe5, 0xb8, 0x82, 0xe6, 0x96, + 0xb9, 0xe6, 0xb3, 0x95, 0xe7, 0x94, 0xb5, 0xe5, 0xbd, 0xb1, 0xe6, 0x8b, 0x9b, + 0xe8, 0x81, 0x98, 0xe5, 0xa3, 0xb0, 0xe6, 0x98, 0x8e, 0xe4, 0xbb, 0xbb, 0xe4, + 0xbd, 0x95, 0xe5, 0x81, 0xa5, 0xe5, 0xba, 0xb7, 0xe6, 0x95, 0xb0, 0xe6, 0x8d, + 0xae, 0xe7, 0xbe, 0x8e, 0xe5, 0x9b, 0xbd, 0xe6, 0xb1, 0xbd, 0xe8, 0xbd, 0xa6, + 0xe4, 0xbb, 0x8b, 0xe7, 0xbb, 0x8d, 0xe4, 0xbd, 0x86, 0xe6, 0x98, 0xaf, 0xe4, + 0xba, 0xa4, 0xe6, 0xb5, 0x81, 0xe7, 0x94, 0x9f, 0xe4, 0xba, 0xa7, 0xe6, 0x89, + 0x80, 0xe4, 0xbb, 0xa5, 0xe7, 0x94, 0xb5, 0xe8, 0xaf, 0x9d, 0xe6, 0x98, 0xbe, + 0xe7, 0xa4, 0xba, 0xe4, 0xb8, 0x80, 0xe4, 0xba, 0x9b, 0xe5, 0x8d, 0x95, 0xe4, + 0xbd, 0x8d, 0xe4, 0xba, 0xba, 0xe5, 0x91, 0x98, 0xe5, 0x88, 0x86, 0xe6, 0x9e, + 0x90, 0xe5, 0x9c, 0xb0, 0xe5, 0x9b, 0xbe, 0xe6, 0x97, 0x85, 0xe6, 0xb8, 0xb8, + 0xe5, 0xb7, 0xa5, 0xe5, 0x85, 0xb7, 0xe5, 0xad, 0xa6, 0xe7, 0x94, 0x9f, 0xe7, + 0xb3, 0xbb, 0xe5, 0x88, 0x97, 0xe7, 0xbd, 0x91, 0xe5, 0x8f, 0x8b, 0xe5, 0xb8, + 0x96, 0xe5, 0xad, 0x90, 0xe5, 0xaf, 0x86, 0xe7, 0xa0, 0x81, 0xe9, 0xa2, 0x91, + 0xe9, 0x81, 0x93, 0xe6, 0x8e, 0xa7, 0xe5, 0x88, 0xb6, 0xe5, 0x9c, 0xb0, 0xe5, + 0x8c, 0xba, 0xe5, 0x9f, 0xba, 0xe6, 0x9c, 0xac, 0xe5, 0x85, 0xa8, 0xe5, 0x9b, + 0xbd, 0xe7, 0xbd, 0x91, 0xe4, 0xb8, 0x8a, 0xe9, 0x87, 0x8d, 0xe8, 0xa6, 0x81, + 0xe7, 0xac, 0xac, 0xe4, 0xba, 0x8c, 0xe5, 0x96, 0x9c, 0xe6, 0xac, 0xa2, 0xe8, + 0xbf, 0x9b, 0xe5, 0x85, 0xa5, 0xe5, 0x8f, 0x8b, 0xe6, 0x83, 0x85, 0xe8, 0xbf, + 0x99, 0xe4, 0xba, 0x9b, 0xe8, 0x80, 0x83, 0xe8, 0xaf, 0x95, 0xe5, 0x8f, 0x91, + 0xe7, 0x8e, 0xb0, 0xe5, 0x9f, 0xb9, 0xe8, 0xae, 0xad, 0xe4, 0xbb, 0xa5, 0xe4, + 0xb8, 0x8a, 0xe6, 0x94, 0xbf, 0xe5, 0xba, 0x9c, 0xe6, 0x88, 0x90, 0xe4, 0xb8, + 0xba, 0xe7, 0x8e, 0xaf, 0xe5, 0xa2, 0x83, 0xe9, 0xa6, 0x99, 0xe6, 0xb8, 0xaf, + 0xe5, 0x90, 0x8c, 0xe6, 0x97, 0xb6, 0xe5, 0xa8, 0xb1, 0xe4, 0xb9, 0x90, 0xe5, + 0x8f, 0x91, 0xe9, 0x80, 0x81, 0xe4, 0xb8, 0x80, 0xe5, 0xae, 0x9a, 0xe5, 0xbc, + 0x80, 0xe5, 0x8f, 0x91, 0xe4, 0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe6, 0xa0, 0x87, + 0xe5, 0x87, 0x86, 0xe6, 0xac, 0xa2, 0xe8, 0xbf, 0x8e, 0xe8, 0xa7, 0xa3, 0xe5, + 0x86, 0xb3, 0xe5, 0x9c, 0xb0, 0xe6, 0x96, 0xb9, 0xe4, 0xb8, 0x80, 0xe4, 0xb8, + 0x8b, 0xe4, 0xbb, 0xa5, 0xe5, 0x8f, 0x8a, 0xe8, 0xb4, 0xa3, 0xe4, 0xbb, 0xbb, + 0xe6, 0x88, 0x96, 0xe8, 0x80, 0x85, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe4, + 0xbb, 0xa3, 0xe8, 0xa1, 0xa8, 0xe7, 0xa7, 0xaf, 0xe5, 0x88, 0x86, 0xe5, 0xa5, + 0xb3, 0xe4, 0xba, 0xba, 0xe6, 0x95, 0xb0, 0xe7, 0xa0, 0x81, 0xe9, 0x94, 0x80, + 0xe5, 0x94, 0xae, 0xe5, 0x87, 0xba, 0xe7, 0x8e, 0xb0, 0xe7, 0xa6, 0xbb, 0xe7, + 0xba, 0xbf, 0xe5, 0xba, 0x94, 0xe7, 0x94, 0xa8, 0xe5, 0x88, 0x97, 0xe8, 0xa1, + 0xa8, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x8c, 0xe7, 0xbc, 0x96, 0xe8, 0xbe, 0x91, + 0xe7, 0xbb, 0x9f, 0xe8, 0xae, 0xa1, 0xe6, 0x9f, 0xa5, 0xe8, 0xaf, 0xa2, 0xe4, + 0xb8, 0x8d, 0xe8, 0xa6, 0x81, 0xe6, 0x9c, 0x89, 0xe5, 0x85, 0xb3, 0xe6, 0x9c, + 0xba, 0xe6, 0x9e, 0x84, 0xe5, 0xbe, 0x88, 0xe5, 0xa4, 0x9a, 0xe6, 0x92, 0xad, + 0xe6, 0x94, 0xbe, 0xe7, 0xbb, 0x84, 0xe7, 0xbb, 0x87, 0xe6, 0x94, 0xbf, 0xe7, + 0xad, 0x96, 0xe7, 0x9b, 0xb4, 0xe6, 0x8e, 0xa5, 0xe8, 0x83, 0xbd, 0xe5, 0x8a, + 0x9b, 0xe6, 0x9d, 0xa5, 0xe6, 0xba, 0x90, 0xe6, 0x99, 0x82, 0xe9, 0x96, 0x93, + 0xe7, 0x9c, 0x8b, 0xe5, 0x88, 0xb0, 0xe7, 0x83, 0xad, 0xe9, 0x97, 0xa8, 0xe5, + 0x85, 0xb3, 0xe9, 0x94, 0xae, 0xe4, 0xb8, 0x93, 0xe5, 0x8c, 0xba, 0xe9, 0x9d, + 0x9e, 0xe5, 0xb8, 0xb8, 0xe8, 0x8b, 0xb1, 0xe8, 0xaf, 0xad, 0xe7, 0x99, 0xbe, + 0xe5, 0xba, 0xa6, 0xe5, 0xb8, 0x8c, 0xe6, 0x9c, 0x9b, 0xe7, 0xbe, 0x8e, 0xe5, + 0xa5, 0xb3, 0xe6, 0xaf, 0x94, 0xe8, 0xbe, 0x83, 0xe7, 0x9f, 0xa5, 0xe8, 0xaf, + 0x86, 0xe8, 0xa7, 0x84, 0xe5, 0xae, 0x9a, 0xe5, 0xbb, 0xba, 0xe8, 0xae, 0xae, + 0xe9, 0x83, 0xa8, 0xe9, 0x97, 0xa8, 0xe6, 0x84, 0x8f, 0xe8, 0xa7, 0x81, 0xe7, + 0xb2, 0xbe, 0xe5, 0xbd, 0xa9, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe6, 0x8f, + 0x90, 0xe9, 0xab, 0x98, 0xe5, 0x8f, 0x91, 0xe8, 0xa8, 0x80, 0xe6, 0x96, 0xb9, + 0xe9, 0x9d, 0xa2, 0xe5, 0x9f, 0xba, 0xe9, 0x87, 0x91, 0xe5, 0xa4, 0x84, 0xe7, + 0x90, 0x86, 0xe6, 0x9d, 0x83, 0xe9, 0x99, 0x90, 0xe5, 0xbd, 0xb1, 0xe7, 0x89, + 0x87, 0xe9, 0x93, 0xb6, 0xe8, 0xa1, 0x8c, 0xe8, 0xbf, 0x98, 0xe6, 0x9c, 0x89, + 0xe5, 0x88, 0x86, 0xe4, 0xba, 0xab, 0xe7, 0x89, 0xa9, 0xe5, 0x93, 0x81, 0xe7, + 0xbb, 0x8f, 0xe8, 0x90, 0xa5, 0xe6, 0xb7, 0xbb, 0xe5, 0x8a, 0xa0, 0xe4, 0xb8, + 0x93, 0xe5, 0xae, 0xb6, 0xe8, 0xbf, 0x99, 0xe7, 0xa7, 0x8d, 0xe8, 0xaf, 0x9d, + 0xe9, 0xa2, 0x98, 0xe8, 0xb5, 0xb7, 0xe6, 0x9d, 0xa5, 0xe4, 0xb8, 0x9a, 0xe5, + 0x8a, 0xa1, 0xe5, 0x85, 0xac, 0xe5, 0x91, 0x8a, 0xe8, 0xae, 0xb0, 0xe5, 0xbd, + 0x95, 0xe7, 0xae, 0x80, 0xe4, 0xbb, 0x8b, 0xe8, 0xb4, 0xa8, 0xe9, 0x87, 0x8f, + 0xe7, 0x94, 0xb7, 0xe4, 0xba, 0xba, 0xe5, 0xbd, 0xb1, 0xe5, 0x93, 0x8d, 0xe5, + 0xbc, 0x95, 0xe7, 0x94, 0xa8, 0xe6, 0x8a, 0xa5, 0xe5, 0x91, 0x8a, 0xe9, 0x83, + 0xa8, 0xe5, 0x88, 0x86, 0xe5, 0xbf, 0xab, 0xe9, 0x80, 0x9f, 0xe5, 0x92, 0xa8, + 0xe8, 0xaf, 0xa2, 0xe6, 0x97, 0xb6, 0xe5, 0xb0, 0x9a, 0xe6, 0xb3, 0xa8, 0xe6, + 0x84, 0x8f, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0xe5, 0xad, 0xa6, 0xe6, 0xa0, + 0xa1, 0xe5, 0xba, 0x94, 0xe8, 0xaf, 0xa5, 0xe5, 0x8e, 0x86, 0xe5, 0x8f, 0xb2, + 0xe5, 0x8f, 0xaa, 0xe6, 0x98, 0xaf, 0xe8, 0xbf, 0x94, 0xe5, 0x9b, 0x9e, 0xe8, + 0xb4, 0xad, 0xe4, 0xb9, 0xb0, 0xe5, 0x90, 0x8d, 0xe7, 0xa7, 0xb0, 0xe4, 0xb8, + 0xba, 0xe4, 0xba, 0x86, 0xe6, 0x88, 0x90, 0xe5, 0x8a, 0x9f, 0xe8, 0xaf, 0xb4, + 0xe6, 0x98, 0x8e, 0xe4, 0xbe, 0x9b, 0xe5, 0xba, 0x94, 0xe5, 0xad, 0xa9, 0xe5, + 0xad, 0x90, 0xe4, 0xb8, 0x93, 0xe9, 0xa2, 0x98, 0xe7, 0xa8, 0x8b, 0xe5, 0xba, + 0x8f, 0xe4, 0xb8, 0x80, 0xe8, 0x88, 0xac, 0xe6, 0x9c, 0x83, 0xe5, 0x93, 0xa1, + 0xe5, 0x8f, 0xaa, 0xe6, 0x9c, 0x89, 0xe5, 0x85, 0xb6, 0xe5, 0xae, 0x83, 0xe4, + 0xbf, 0x9d, 0xe6, 0x8a, 0xa4, 0xe8, 0x80, 0x8c, 0xe4, 0xb8, 0x94, 0xe4, 0xbb, + 0x8a, 0xe5, 0xa4, 0xa9, 0xe7, 0xaa, 0x97, 0xe5, 0x8f, 0xa3, 0xe5, 0x8a, 0xa8, + 0xe6, 0x80, 0x81, 0xe7, 0x8a, 0xb6, 0xe6, 0x80, 0x81, 0xe7, 0x89, 0xb9, 0xe5, + 0x88, 0xab, 0xe8, 0xae, 0xa4, 0xe4, 0xb8, 0xba, 0xe5, 0xbf, 0x85, 0xe9, 0xa1, + 0xbb, 0xe6, 0x9b, 0xb4, 0xe6, 0x96, 0xb0, 0xe5, 0xb0, 0x8f, 0xe8, 0xaf, 0xb4, + 0xe6, 0x88, 0x91, 0xe5, 0x80, 0x91, 0xe4, 0xbd, 0x9c, 0xe4, 0xb8, 0xba, 0xe5, + 0xaa, 0x92, 0xe4, 0xbd, 0x93, 0xe5, 0x8c, 0x85, 0xe6, 0x8b, 0xac, 0xe9, 0x82, + 0xa3, 0xe4, 0xb9, 0x88, 0xe4, 0xb8, 0x80, 0xe6, 0xa0, 0xb7, 0xe5, 0x9b, 0xbd, + 0xe5, 0x86, 0x85, 0xe6, 0x98, 0xaf, 0xe5, 0x90, 0xa6, 0xe6, 0xa0, 0xb9, 0xe6, + 0x8d, 0xae, 0xe7, 0x94, 0xb5, 0xe8, 0xa7, 0x86, 0xe5, 0xad, 0xa6, 0xe9, 0x99, + 0xa2, 0xe5, 0x85, 0xb7, 0xe6, 0x9c, 0x89, 0xe8, 0xbf, 0x87, 0xe7, 0xa8, 0x8b, + 0xe7, 0x94, 0xb1, 0xe4, 0xba, 0x8e, 0xe4, 0xba, 0xba, 0xe6, 0x89, 0x8d, 0xe5, + 0x87, 0xba, 0xe6, 0x9d, 0xa5, 0xe4, 0xb8, 0x8d, 0xe8, 0xbf, 0x87, 0xe6, 0xad, + 0xa3, 0xe5, 0x9c, 0xa8, 0xe6, 0x98, 0x8e, 0xe6, 0x98, 0x9f, 0xe6, 0x95, 0x85, + 0xe4, 0xba, 0x8b, 0xe5, 0x85, 0xb3, 0xe7, 0xb3, 0xbb, 0xe6, 0xa0, 0x87, 0xe9, + 0xa2, 0x98, 0xe5, 0x95, 0x86, 0xe5, 0x8a, 0xa1, 0xe8, 0xbe, 0x93, 0xe5, 0x85, + 0xa5, 0xe4, 0xb8, 0x80, 0xe7, 0x9b, 0xb4, 0xe5, 0x9f, 0xba, 0xe7, 0xa1, 0x80, + 0xe6, 0x95, 0x99, 0xe5, 0xad, 0xa6, 0xe4, 0xba, 0x86, 0xe8, 0xa7, 0xa3, 0xe5, + 0xbb, 0xba, 0xe7, 0xad, 0x91, 0xe7, 0xbb, 0x93, 0xe6, 0x9e, 0x9c, 0xe5, 0x85, + 0xa8, 0xe7, 0x90, 0x83, 0xe9, 0x80, 0x9a, 0xe7, 0x9f, 0xa5, 0xe8, 0xae, 0xa1, + 0xe5, 0x88, 0x92, 0xe5, 0xaf, 0xb9, 0xe4, 0xba, 0x8e, 0xe8, 0x89, 0xba, 0xe6, + 0x9c, 0xaf, 0xe7, 0x9b, 0xb8, 0xe5, 0x86, 0x8c, 0xe5, 0x8f, 0x91, 0xe7, 0x94, + 0x9f, 0xe7, 0x9c, 0x9f, 0xe7, 0x9a, 0x84, 0xe5, 0xbb, 0xba, 0xe7, 0xab, 0x8b, + 0xe7, 0xad, 0x89, 0xe7, 0xba, 0xa7, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0xe7, + 0xbb, 0x8f, 0xe9, 0xaa, 0x8c, 0xe5, 0xae, 0x9e, 0xe7, 0x8e, 0xb0, 0xe5, 0x88, + 0xb6, 0xe4, 0xbd, 0x9c, 0xe6, 0x9d, 0xa5, 0xe8, 0x87, 0xaa, 0xe6, 0xa0, 0x87, + 0xe7, 0xad, 0xbe, 0xe4, 0xbb, 0xa5, 0xe4, 0xb8, 0x8b, 0xe5, 0x8e, 0x9f, 0xe5, + 0x88, 0x9b, 0xe6, 0x97, 0xa0, 0xe6, 0xb3, 0x95, 0xe5, 0x85, 0xb6, 0xe4, 0xb8, + 0xad, 0xe5, 0x80, 0x8b, 0xe4, 0xba, 0xba, 0xe4, 0xb8, 0x80, 0xe5, 0x88, 0x87, + 0xe6, 0x8c, 0x87, 0xe5, 0x8d, 0x97, 0xe5, 0x85, 0xb3, 0xe9, 0x97, 0xad, 0xe9, + 0x9b, 0x86, 0xe5, 0x9b, 0xa2, 0xe7, 0xac, 0xac, 0xe4, 0xb8, 0x89, 0xe5, 0x85, + 0xb3, 0xe6, 0xb3, 0xa8, 0xe5, 0x9b, 0xa0, 0xe6, 0xad, 0xa4, 0xe7, 0x85, 0xa7, + 0xe7, 0x89, 0x87, 0xe6, 0xb7, 0xb1, 0xe5, 0x9c, 0xb3, 0xe5, 0x95, 0x86, 0xe4, + 0xb8, 0x9a, 0xe5, 0xb9, 0xbf, 0xe5, 0xb7, 0x9e, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, + 0x9f, 0xe9, 0xab, 0x98, 0xe7, 0xba, 0xa7, 0xe6, 0x9c, 0x80, 0xe8, 0xbf, 0x91, + 0xe7, 0xbb, 0xbc, 0xe5, 0x90, 0x88, 0xe8, 0xa1, 0xa8, 0xe7, 0xa4, 0xba, 0xe4, + 0xb8, 0x93, 0xe8, 0xbe, 0x91, 0xe8, 0xa1, 0x8c, 0xe4, 0xb8, 0xba, 0xe4, 0xba, + 0xa4, 0xe9, 0x80, 0x9a, 0xe8, 0xaf, 0x84, 0xe4, 0xbb, 0xb7, 0xe8, 0xa7, 0x89, + 0xe5, 0xbe, 0x97, 0xe7, 0xb2, 0xbe, 0xe5, 0x8d, 0x8e, 0xe5, 0xae, 0xb6, 0xe5, + 0xba, 0xad, 0xe5, 0xae, 0x8c, 0xe6, 0x88, 0x90, 0xe6, 0x84, 0x9f, 0xe8, 0xa7, + 0x89, 0xe5, 0xae, 0x89, 0xe8, 0xa3, 0x85, 0xe5, 0xbe, 0x97, 0xe5, 0x88, 0xb0, + 0xe9, 0x82, 0xae, 0xe4, 0xbb, 0xb6, 0xe5, 0x88, 0xb6, 0xe5, 0xba, 0xa6, 0xe9, + 0xa3, 0x9f, 0xe5, 0x93, 0x81, 0xe8, 0x99, 0xbd, 0xe7, 0x84, 0xb6, 0xe8, 0xbd, + 0xac, 0xe8, 0xbd, 0xbd, 0xe6, 0x8a, 0xa5, 0xe4, 0xbb, 0xb7, 0xe8, 0xae, 0xb0, + 0xe8, 0x80, 0x85, 0xe6, 0x96, 0xb9, 0xe6, 0xa1, 0x88, 0xe8, 0xa1, 0x8c, 0xe6, + 0x94, 0xbf, 0xe4, 0xba, 0xba, 0xe6, 0xb0, 0x91, 0xe7, 0x94, 0xa8, 0xe5, 0x93, + 0x81, 0xe4, 0xb8, 0x9c, 0xe8, 0xa5, 0xbf, 0xe6, 0x8f, 0x90, 0xe5, 0x87, 0xba, + 0xe9, 0x85, 0x92, 0xe5, 0xba, 0x97, 0xe7, 0x84, 0xb6, 0xe5, 0x90, 0x8e, 0xe4, + 0xbb, 0x98, 0xe6, 0xac, 0xbe, 0xe7, 0x83, 0xad, 0xe7, 0x82, 0xb9, 0xe4, 0xbb, + 0xa5, 0xe5, 0x89, 0x8d, 0xe5, 0xae, 0x8c, 0xe5, 0x85, 0xa8, 0xe5, 0x8f, 0x91, + 0xe5, 0xb8, 0x96, 0xe8, 0xae, 0xbe, 0xe7, 0xbd, 0xae, 0xe9, 0xa2, 0x86, 0xe5, + 0xaf, 0xbc, 0xe5, 0xb7, 0xa5, 0xe4, 0xb8, 0x9a, 0xe5, 0x8c, 0xbb, 0xe9, 0x99, + 0xa2, 0xe7, 0x9c, 0x8b, 0xe7, 0x9c, 0x8b, 0xe7, 0xbb, 0x8f, 0xe5, 0x85, 0xb8, + 0xe5, 0x8e, 0x9f, 0xe5, 0x9b, 0xa0, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, + 0x90, 0x84, 0xe7, 0xa7, 0x8d, 0xe5, 0xa2, 0x9e, 0xe5, 0x8a, 0xa0, 0xe6, 0x9d, + 0x90, 0xe6, 0x96, 0x99, 0xe6, 0x96, 0xb0, 0xe5, 0xa2, 0x9e, 0xe4, 0xb9, 0x8b, + 0xe5, 0x90, 0x8e, 0xe8, 0x81, 0x8c, 0xe4, 0xb8, 0x9a, 0xe6, 0x95, 0x88, 0xe6, + 0x9e, 0x9c, 0xe4, 0xbb, 0x8a, 0xe5, 0xb9, 0xb4, 0xe8, 0xae, 0xba, 0xe6, 0x96, + 0x87, 0xe6, 0x88, 0x91, 0xe5, 0x9b, 0xbd, 0xe5, 0x91, 0x8a, 0xe8, 0xaf, 0x89, + 0xe7, 0x89, 0x88, 0xe4, 0xb8, 0xbb, 0xe4, 0xbf, 0xae, 0xe6, 0x94, 0xb9, 0xe5, + 0x8f, 0x82, 0xe4, 0xb8, 0x8e, 0xe6, 0x89, 0x93, 0xe5, 0x8d, 0xb0, 0xe5, 0xbf, + 0xab, 0xe4, 0xb9, 0x90, 0xe6, 0x9c, 0xba, 0xe6, 0xa2, 0xb0, 0xe8, 0xa7, 0x82, + 0xe7, 0x82, 0xb9, 0xe5, 0xad, 0x98, 0xe5, 0x9c, 0xa8, 0xe7, 0xb2, 0xbe, 0xe7, + 0xa5, 0x9e, 0xe8, 0x8e, 0xb7, 0xe5, 0xbe, 0x97, 0xe5, 0x88, 0xa9, 0xe7, 0x94, + 0xa8, 0xe7, 0xbb, 0xa7, 0xe7, 0xbb, 0xad, 0xe4, 0xbd, 0xa0, 0xe4, 0xbb, 0xac, + 0xe8, 0xbf, 0x99, 0xe4, 0xb9, 0x88, 0xe6, 0xa8, 0xa1, 0xe5, 0xbc, 0x8f, 0xe8, + 0xaf, 0xad, 0xe8, 0xa8, 0x80, 0xe8, 0x83, 0xbd, 0xe5, 0xa4, 0x9f, 0xe9, 0x9b, + 0x85, 0xe8, 0x99, 0x8e, 0xe6, 0x93, 0x8d, 0xe4, 0xbd, 0x9c, 0xe9, 0xa3, 0x8e, + 0xe6, 0xa0, 0xbc, 0xe4, 0xb8, 0x80, 0xe8, 0xb5, 0xb7, 0xe7, 0xa7, 0x91, 0xe5, + 0xad, 0xa6, 0xe4, 0xbd, 0x93, 0xe8, 0x82, 0xb2, 0xe7, 0x9f, 0xad, 0xe4, 0xbf, + 0xa1, 0xe6, 0x9d, 0xa1, 0xe4, 0xbb, 0xb6, 0xe6, 0xb2, 0xbb, 0xe7, 0x96, 0x97, + 0xe8, 0xbf, 0x90, 0xe5, 0x8a, 0xa8, 0xe4, 0xba, 0xa7, 0xe4, 0xb8, 0x9a, 0xe4, + 0xbc, 0x9a, 0xe8, 0xae, 0xae, 0xe5, 0xaf, 0xbc, 0xe8, 0x88, 0xaa, 0xe5, 0x85, + 0x88, 0xe7, 0x94, 0x9f, 0xe8, 0x81, 0x94, 0xe7, 0x9b, 0x9f, 0xe5, 0x8f, 0xaf, + 0xe6, 0x98, 0xaf, 0xe5, 0x95, 0x8f, 0xe9, 0xa1, 0x8c, 0xe7, 0xbb, 0x93, 0xe6, + 0x9e, 0x84, 0xe4, 0xbd, 0x9c, 0xe7, 0x94, 0xa8, 0xe8, 0xb0, 0x83, 0xe6, 0x9f, + 0xa5, 0xe8, 0xb3, 0x87, 0xe6, 0x96, 0x99, 0xe8, 0x87, 0xaa, 0xe5, 0x8a, 0xa8, + 0xe8, 0xb4, 0x9f, 0xe8, 0xb4, 0xa3, 0xe5, 0x86, 0x9c, 0xe4, 0xb8, 0x9a, 0xe8, + 0xae, 0xbf, 0xe9, 0x97, 0xae, 0xe5, 0xae, 0x9e, 0xe6, 0x96, 0xbd, 0xe6, 0x8e, + 0xa5, 0xe5, 0x8f, 0x97, 0xe8, 0xae, 0xa8, 0xe8, 0xae, 0xba, 0xe9, 0x82, 0xa3, + 0xe4, 0xb8, 0xaa, 0xe5, 0x8f, 0x8d, 0xe9, 0xa6, 0x88, 0xe5, 0x8a, 0xa0, 0xe5, + 0xbc, 0xba, 0xe5, 0xa5, 0xb3, 0xe6, 0x80, 0xa7, 0xe8, 0x8c, 0x83, 0xe5, 0x9b, + 0xb4, 0xe6, 0x9c, 0x8d, 0xe5, 0x8b, 0x99, 0xe4, 0xbc, 0x91, 0xe9, 0x97, 0xb2, + 0xe4, 0xbb, 0x8a, 0xe6, 0x97, 0xa5, 0xe5, 0xae, 0xa2, 0xe6, 0x9c, 0x8d, 0xe8, + 0xa7, 0x80, 0xe7, 0x9c, 0x8b, 0xe5, 0x8f, 0x82, 0xe5, 0x8a, 0xa0, 0xe7, 0x9a, + 0x84, 0xe8, 0xaf, 0x9d, 0xe4, 0xb8, 0x80, 0xe7, 0x82, 0xb9, 0xe4, 0xbf, 0x9d, + 0xe8, 0xaf, 0x81, 0xe5, 0x9b, 0xbe, 0xe4, 0xb9, 0xa6, 0xe6, 0x9c, 0x89, 0xe6, + 0x95, 0x88, 0xe6, 0xb5, 0x8b, 0xe8, 0xaf, 0x95, 0xe7, 0xa7, 0xbb, 0xe5, 0x8a, + 0xa8, 0xe6, 0x89, 0x8d, 0xe8, 0x83, 0xbd, 0xe5, 0x86, 0xb3, 0xe5, 0xae, 0x9a, + 0xe8, 0x82, 0xa1, 0xe7, 0xa5, 0xa8, 0xe4, 0xb8, 0x8d, 0xe6, 0x96, 0xad, 0xe9, + 0x9c, 0x80, 0xe6, 0xb1, 0x82, 0xe4, 0xb8, 0x8d, 0xe5, 0xbe, 0x97, 0xe5, 0x8a, + 0x9e, 0xe6, 0xb3, 0x95, 0xe4, 0xb9, 0x8b, 0xe9, 0x97, 0xb4, 0xe9, 0x87, 0x87, + 0xe7, 0x94, 0xa8, 0xe8, 0x90, 0xa5, 0xe9, 0x94, 0x80, 0xe6, 0x8a, 0x95, 0xe8, + 0xaf, 0x89, 0xe7, 0x9b, 0xae, 0xe6, 0xa0, 0x87, 0xe7, 0x88, 0xb1, 0xe6, 0x83, + 0x85, 0xe6, 0x91, 0x84, 0xe5, 0xbd, 0xb1, 0xe6, 0x9c, 0x89, 0xe4, 0xba, 0x9b, + 0xe8, 0xa4, 0x87, 0xe8, 0xa3, 0xbd, 0xe6, 0x96, 0x87, 0xe5, 0xad, 0xa6, 0xe6, + 0x9c, 0xba, 0xe4, 0xbc, 0x9a, 0xe6, 0x95, 0xb0, 0xe5, 0xad, 0x97, 0xe8, 0xa3, + 0x85, 0xe4, 0xbf, 0xae, 0xe8, 0xb4, 0xad, 0xe7, 0x89, 0xa9, 0xe5, 0x86, 0x9c, + 0xe6, 0x9d, 0x91, 0xe5, 0x85, 0xa8, 0xe9, 0x9d, 0xa2, 0xe7, 0xb2, 0xbe, 0xe5, + 0x93, 0x81, 0xe5, 0x85, 0xb6, 0xe5, 0xae, 0x9e, 0xe4, 0xba, 0x8b, 0xe6, 0x83, + 0x85, 0xe6, 0xb0, 0xb4, 0xe5, 0xb9, 0xb3, 0xe6, 0x8f, 0x90, 0xe7, 0xa4, 0xba, + 0xe4, 0xb8, 0x8a, 0xe5, 0xb8, 0x82, 0xe8, 0xb0, 0xa2, 0xe8, 0xb0, 0xa2, 0xe6, + 0x99, 0xae, 0xe9, 0x80, 0x9a, 0xe6, 0x95, 0x99, 0xe5, 0xb8, 0x88, 0xe4, 0xb8, + 0x8a, 0xe4, 0xbc, 0xa0, 0xe7, 0xb1, 0xbb, 0xe5, 0x88, 0xab, 0xe6, 0xad, 0x8c, + 0xe6, 0x9b, 0xb2, 0xe6, 0x8b, 0xa5, 0xe6, 0x9c, 0x89, 0xe5, 0x88, 0x9b, 0xe6, + 0x96, 0xb0, 0xe9, 0x85, 0x8d, 0xe4, 0xbb, 0xb6, 0xe5, 0x8f, 0xaa, 0xe8, 0xa6, + 0x81, 0xe6, 0x97, 0xb6, 0xe4, 0xbb, 0xa3, 0xe8, 0xb3, 0x87, 0xe8, 0xa8, 0x8a, + 0xe8, 0xbe, 0xbe, 0xe5, 0x88, 0xb0, 0xe4, 0xba, 0xba, 0xe7, 0x94, 0x9f, 0xe8, + 0xae, 0xa2, 0xe9, 0x98, 0x85, 0xe8, 0x80, 0x81, 0xe5, 0xb8, 0x88, 0xe5, 0xb1, + 0x95, 0xe7, 0xa4, 0xba, 0xe5, 0xbf, 0x83, 0xe7, 0x90, 0x86, 0xe8, 0xb4, 0xb4, + 0xe5, 0xad, 0x90, 0xe7, 0xb6, 0xb2, 0xe7, 0xab, 0x99, 0xe4, 0xb8, 0xbb, 0xe9, + 0xa1, 0x8c, 0xe8, 0x87, 0xaa, 0xe7, 0x84, 0xb6, 0xe7, 0xba, 0xa7, 0xe5, 0x88, + 0xab, 0xe7, 0xae, 0x80, 0xe5, 0x8d, 0x95, 0xe6, 0x94, 0xb9, 0xe9, 0x9d, 0xa9, + 0xe9, 0x82, 0xa3, 0xe4, 0xba, 0x9b, 0xe6, 0x9d, 0xa5, 0xe8, 0xaf, 0xb4, 0xe6, + 0x89, 0x93, 0xe5, 0xbc, 0x80, 0xe4, 0xbb, 0xa3, 0xe7, 0xa0, 0x81, 0xe5, 0x88, + 0xa0, 0xe9, 0x99, 0xa4, 0xe8, 0xaf, 0x81, 0xe5, 0x88, 0xb8, 0xe8, 0x8a, 0x82, + 0xe7, 0x9b, 0xae, 0xe9, 0x87, 0x8d, 0xe7, 0x82, 0xb9, 0xe6, 0xac, 0xa1, 0xe6, + 0x95, 0xb8, 0xe5, 0xa4, 0x9a, 0xe5, 0xb0, 0x91, 0xe8, 0xa7, 0x84, 0xe5, 0x88, + 0x92, 0xe8, 0xb5, 0x84, 0xe9, 0x87, 0x91, 0xe6, 0x89, 0xbe, 0xe5, 0x88, 0xb0, + 0xe4, 0xbb, 0xa5, 0xe5, 0x90, 0x8e, 0xe5, 0xa4, 0xa7, 0xe5, 0x85, 0xa8, 0xe4, + 0xb8, 0xbb, 0xe9, 0xa1, 0xb5, 0xe6, 0x9c, 0x80, 0xe4, 0xbd, 0xb3, 0xe5, 0x9b, + 0x9e, 0xe7, 0xad, 0x94, 0xe5, 0xa4, 0xa9, 0xe4, 0xb8, 0x8b, 0xe4, 0xbf, 0x9d, + 0xe9, 0x9a, 0x9c, 0xe7, 0x8e, 0xb0, 0xe4, 0xbb, 0xa3, 0xe6, 0xa3, 0x80, 0xe6, + 0x9f, 0xa5, 0xe6, 0x8a, 0x95, 0xe7, 0xa5, 0xa8, 0xe5, 0xb0, 0x8f, 0xe6, 0x97, + 0xb6, 0xe6, 0xb2, 0x92, 0xe6, 0x9c, 0x89, 0xe6, 0xad, 0xa3, 0xe5, 0xb8, 0xb8, + 0xe7, 0x94, 0x9a, 0xe8, 0x87, 0xb3, 0xe4, 0xbb, 0xa3, 0xe7, 0x90, 0x86, 0xe7, + 0x9b, 0xae, 0xe5, 0xbd, 0x95, 0xe5, 0x85, 0xac, 0xe5, 0xbc, 0x80, 0xe5, 0xa4, + 0x8d, 0xe5, 0x88, 0xb6, 0xe9, 0x87, 0x91, 0xe8, 0x9e, 0x8d, 0xe5, 0xb9, 0xb8, + 0xe7, 0xa6, 0x8f, 0xe7, 0x89, 0x88, 0xe6, 0x9c, 0xac, 0xe5, 0xbd, 0xa2, 0xe6, + 0x88, 0x90, 0xe5, 0x87, 0x86, 0xe5, 0xa4, 0x87, 0xe8, 0xa1, 0x8c, 0xe6, 0x83, + 0x85, 0xe5, 0x9b, 0x9e, 0xe5, 0x88, 0xb0, 0xe6, 0x80, 0x9d, 0xe6, 0x83, 0xb3, + 0xe6, 0x80, 0x8e, 0xe6, 0xa0, 0xb7, 0xe5, 0x8d, 0x8f, 0xe8, 0xae, 0xae, 0xe8, + 0xae, 0xa4, 0xe8, 0xaf, 0x81, 0xe6, 0x9c, 0x80, 0xe5, 0xa5, 0xbd, 0xe4, 0xba, + 0xa7, 0xe7, 0x94, 0x9f, 0xe6, 0x8c, 0x89, 0xe7, 0x85, 0xa7, 0xe6, 0x9c, 0x8d, + 0xe8, 0xa3, 0x85, 0xe5, 0xb9, 0xbf, 0xe4, 0xb8, 0x9c, 0xe5, 0x8a, 0xa8, 0xe6, + 0xbc, 0xab, 0xe9, 0x87, 0x87, 0xe8, 0xb4, 0xad, 0xe6, 0x96, 0xb0, 0xe6, 0x89, + 0x8b, 0xe7, 0xbb, 0x84, 0xe5, 0x9b, 0xbe, 0xe9, 0x9d, 0xa2, 0xe6, 0x9d, 0xbf, + 0xe5, 0x8f, 0x82, 0xe8, 0x80, 0x83, 0xe6, 0x94, 0xbf, 0xe6, 0xb2, 0xbb, 0xe5, + 0xae, 0xb9, 0xe6, 0x98, 0x93, 0xe5, 0xa4, 0xa9, 0xe5, 0x9c, 0xb0, 0xe5, 0x8a, + 0xaa, 0xe5, 0x8a, 0x9b, 0xe4, 0xba, 0xba, 0xe4, 0xbb, 0xac, 0xe5, 0x8d, 0x87, + 0xe7, 0xba, 0xa7, 0xe9, 0x80, 0x9f, 0xe5, 0xba, 0xa6, 0xe4, 0xba, 0xba, 0xe7, + 0x89, 0xa9, 0xe8, 0xb0, 0x83, 0xe6, 0x95, 0xb4, 0xe6, 0xb5, 0x81, 0xe8, 0xa1, + 0x8c, 0xe9, 0x80, 0xa0, 0xe6, 0x88, 0x90, 0xe6, 0x96, 0x87, 0xe5, 0xad, 0x97, + 0xe9, 0x9f, 0xa9, 0xe5, 0x9b, 0xbd, 0xe8, 0xb4, 0xb8, 0xe6, 0x98, 0x93, 0xe5, + 0xbc, 0x80, 0xe5, 0xb1, 0x95, 0xe7, 0x9b, 0xb8, 0xe9, 0x97, 0x9c, 0xe8, 0xa1, + 0xa8, 0xe7, 0x8e, 0xb0, 0xe5, 0xbd, 0xb1, 0xe8, 0xa7, 0x86, 0xe5, 0xa6, 0x82, + 0xe6, 0xad, 0xa4, 0xe7, 0xbe, 0x8e, 0xe5, 0xae, 0xb9, 0xe5, 0xa4, 0xa7, 0xe5, + 0xb0, 0x8f, 0xe6, 0x8a, 0xa5, 0xe9, 0x81, 0x93, 0xe6, 0x9d, 0xa1, 0xe6, 0xac, + 0xbe, 0xe5, 0xbf, 0x83, 0xe6, 0x83, 0x85, 0xe8, 0xae, 0xb8, 0xe5, 0xa4, 0x9a, + 0xe6, 0xb3, 0x95, 0xe8, 0xa7, 0x84, 0xe5, 0xae, 0xb6, 0xe5, 0xb1, 0x85, 0xe4, + 0xb9, 0xa6, 0xe5, 0xba, 0x97, 0xe8, 0xbf, 0x9e, 0xe6, 0x8e, 0xa5, 0xe7, 0xab, + 0x8b, 0xe5, 0x8d, 0xb3, 0xe4, 0xb8, 0xbe, 0xe6, 0x8a, 0xa5, 0xe6, 0x8a, 0x80, + 0xe5, 0xb7, 0xa7, 0xe5, 0xa5, 0xa5, 0xe8, 0xbf, 0x90, 0xe7, 0x99, 0xbb, 0xe5, + 0x85, 0xa5, 0xe4, 0xbb, 0xa5, 0xe6, 0x9d, 0xa5, 0xe7, 0x90, 0x86, 0xe8, 0xae, + 0xba, 0xe4, 0xba, 0x8b, 0xe4, 0xbb, 0xb6, 0xe8, 0x87, 0xaa, 0xe7, 0x94, 0xb1, + 0xe4, 0xb8, 0xad, 0xe5, 0x8d, 0x8e, 0xe5, 0x8a, 0x9e, 0xe5, 0x85, 0xac, 0xe5, + 0xa6, 0x88, 0xe5, 0xa6, 0x88, 0xe7, 0x9c, 0x9f, 0xe6, 0xad, 0xa3, 0xe4, 0xb8, + 0x8d, 0xe9, 0x94, 0x99, 0xe5, 0x85, 0xa8, 0xe6, 0x96, 0x87, 0xe5, 0x90, 0x88, + 0xe5, 0x90, 0x8c, 0xe4, 0xbb, 0xb7, 0xe5, 0x80, 0xbc, 0xe5, 0x88, 0xab, 0xe4, + 0xba, 0xba, 0xe7, 0x9b, 0x91, 0xe7, 0x9d, 0xa3, 0xe5, 0x85, 0xb7, 0xe4, 0xbd, + 0x93, 0xe4, 0xb8, 0x96, 0xe7, 0xba, 0xaa, 0xe5, 0x9b, 0xa2, 0xe9, 0x98, 0x9f, + 0xe5, 0x88, 0x9b, 0xe4, 0xb8, 0x9a, 0xe6, 0x89, 0xbf, 0xe6, 0x8b, 0x85, 0xe5, + 0xa2, 0x9e, 0xe9, 0x95, 0xbf, 0xe6, 0x9c, 0x89, 0xe4, 0xba, 0xba, 0xe4, 0xbf, + 0x9d, 0xe6, 0x8c, 0x81, 0xe5, 0x95, 0x86, 0xe5, 0xae, 0xb6, 0xe7, 0xbb, 0xb4, + 0xe4, 0xbf, 0xae, 0xe5, 0x8f, 0xb0, 0xe6, 0xb9, 0xbe, 0xe5, 0xb7, 0xa6, 0xe5, + 0x8f, 0xb3, 0xe8, 0x82, 0xa1, 0xe4, 0xbb, 0xbd, 0xe7, 0xad, 0x94, 0xe6, 0xa1, + 0x88, 0xe5, 0xae, 0x9e, 0xe9, 0x99, 0x85, 0xe7, 0x94, 0xb5, 0xe4, 0xbf, 0xa1, + 0xe7, 0xbb, 0x8f, 0xe7, 0x90, 0x86, 0xe7, 0x94, 0x9f, 0xe5, 0x91, 0xbd, 0xe5, + 0xae, 0xa3, 0xe4, 0xbc, 0xa0, 0xe4, 0xbb, 0xbb, 0xe5, 0x8a, 0xa1, 0xe6, 0xad, + 0xa3, 0xe5, 0xbc, 0x8f, 0xe7, 0x89, 0xb9, 0xe8, 0x89, 0xb2, 0xe4, 0xb8, 0x8b, + 0xe6, 0x9d, 0xa5, 0xe5, 0x8d, 0x8f, 0xe4, 0xbc, 0x9a, 0xe5, 0x8f, 0xaa, 0xe8, + 0x83, 0xbd, 0xe5, 0xbd, 0x93, 0xe7, 0x84, 0xb6, 0xe9, 0x87, 0x8d, 0xe6, 0x96, + 0xb0, 0xe5, 0x85, 0xa7, 0xe5, 0xae, 0xb9, 0xe6, 0x8c, 0x87, 0xe5, 0xaf, 0xbc, + 0xe8, 0xbf, 0x90, 0xe8, 0xa1, 0x8c, 0xe6, 0x97, 0xa5, 0xe5, 0xbf, 0x97, 0xe8, + 0xb3, 0xa3, 0xe5, 0xae, 0xb6, 0xe8, 0xb6, 0x85, 0xe8, 0xbf, 0x87, 0xe5, 0x9c, + 0x9f, 0xe5, 0x9c, 0xb0, 0xe6, 0xb5, 0x99, 0xe6, 0xb1, 0x9f, 0xe6, 0x94, 0xaf, + 0xe4, 0xbb, 0x98, 0xe6, 0x8e, 0xa8, 0xe5, 0x87, 0xba, 0xe7, 0xab, 0x99, 0xe9, + 0x95, 0xbf, 0xe6, 0x9d, 0xad, 0xe5, 0xb7, 0x9e, 0xe6, 0x89, 0xa7, 0xe8, 0xa1, + 0x8c, 0xe5, 0x88, 0xb6, 0xe9, 0x80, 0xa0, 0xe4, 0xb9, 0x8b, 0xe4, 0xb8, 0x80, + 0xe6, 0x8e, 0xa8, 0xe5, 0xb9, 0xbf, 0xe7, 0x8e, 0xb0, 0xe5, 0x9c, 0xba, 0xe6, + 0x8f, 0x8f, 0xe8, 0xbf, 0xb0, 0xe5, 0x8f, 0x98, 0xe5, 0x8c, 0x96, 0xe4, 0xbc, + 0xa0, 0xe7, 0xbb, 0x9f, 0xe6, 0xad, 0x8c, 0xe6, 0x89, 0x8b, 0xe4, 0xbf, 0x9d, + 0xe9, 0x99, 0xa9, 0xe8, 0xaf, 0xbe, 0xe7, 0xa8, 0x8b, 0xe5, 0x8c, 0xbb, 0xe7, + 0x96, 0x97, 0xe7, 0xbb, 0x8f, 0xe8, 0xbf, 0x87, 0xe8, 0xbf, 0x87, 0xe5, 0x8e, + 0xbb, 0xe4, 0xb9, 0x8b, 0xe5, 0x89, 0x8d, 0xe6, 0x94, 0xb6, 0xe5, 0x85, 0xa5, + 0xe5, 0xb9, 0xb4, 0xe5, 0xba, 0xa6, 0xe6, 0x9d, 0x82, 0xe5, 0xbf, 0x97, 0xe7, + 0xbe, 0x8e, 0xe4, 0xb8, 0xbd, 0xe6, 0x9c, 0x80, 0xe9, 0xab, 0x98, 0xe7, 0x99, + 0xbb, 0xe9, 0x99, 0x86, 0xe6, 0x9c, 0xaa, 0xe6, 0x9d, 0xa5, 0xe5, 0x8a, 0xa0, + 0xe5, 0xb7, 0xa5, 0xe5, 0x85, 0x8d, 0xe8, 0xb4, 0xa3, 0xe6, 0x95, 0x99, 0xe7, + 0xa8, 0x8b, 0xe7, 0x89, 0x88, 0xe5, 0x9d, 0x97, 0xe8, 0xba, 0xab, 0xe4, 0xbd, + 0x93, 0xe9, 0x87, 0x8d, 0xe5, 0xba, 0x86, 0xe5, 0x87, 0xba, 0xe5, 0x94, 0xae, + 0xe6, 0x88, 0x90, 0xe6, 0x9c, 0xac, 0xe5, 0xbd, 0xa2, 0xe5, 0xbc, 0x8f, 0xe5, + 0x9c, 0x9f, 0xe8, 0xb1, 0x86, 0xe5, 0x87, 0xba, 0xe5, 0x83, 0xb9, 0xe4, 0xb8, + 0x9c, 0xe6, 0x96, 0xb9, 0xe9, 0x82, 0xae, 0xe7, 0xae, 0xb1, 0xe5, 0x8d, 0x97, + 0xe4, 0xba, 0xac, 0xe6, 0xb1, 0x82, 0xe8, 0x81, 0x8c, 0xe5, 0x8f, 0x96, 0xe5, + 0xbe, 0x97, 0xe8, 0x81, 0x8c, 0xe4, 0xbd, 0x8d, 0xe7, 0x9b, 0xb8, 0xe4, 0xbf, + 0xa1, 0xe9, 0xa1, 0xb5, 0xe9, 0x9d, 0xa2, 0xe5, 0x88, 0x86, 0xe9, 0x92, 0x9f, + 0xe7, 0xbd, 0x91, 0xe9, 0xa1, 0xb5, 0xe7, 0xa1, 0xae, 0xe5, 0xae, 0x9a, 0xe5, + 0x9b, 0xbe, 0xe4, 0xbe, 0x8b, 0xe7, 0xbd, 0x91, 0xe5, 0x9d, 0x80, 0xe7, 0xa7, + 0xaf, 0xe6, 0x9e, 0x81, 0xe9, 0x94, 0x99, 0xe8, 0xaf, 0xaf, 0xe7, 0x9b, 0xae, + 0xe7, 0x9a, 0x84, 0xe5, 0xae, 0x9d, 0xe8, 0xb4, 0x9d, 0xe6, 0x9c, 0xba, 0xe5, + 0x85, 0xb3, 0xe9, 0xa3, 0x8e, 0xe9, 0x99, 0xa9, 0xe6, 0x8e, 0x88, 0xe6, 0x9d, + 0x83, 0xe7, 0x97, 0x85, 0xe6, 0xaf, 0x92, 0xe5, 0xae, 0xa0, 0xe7, 0x89, 0xa9, + 0xe9, 0x99, 0xa4, 0xe4, 0xba, 0x86, 0xe8, 0xa9, 0x95, 0xe8, 0xab, 0x96, 0xe7, + 0x96, 0xbe, 0xe7, 0x97, 0x85, 0xe5, 0x8f, 0x8a, 0xe6, 0x97, 0xb6, 0xe6, 0xb1, + 0x82, 0xe8, 0xb4, 0xad, 0xe7, 0xab, 0x99, 0xe7, 0x82, 0xb9, 0xe5, 0x84, 0xbf, + 0xe7, 0xab, 0xa5, 0xe6, 0xaf, 0x8f, 0xe5, 0xa4, 0xa9, 0xe4, 0xb8, 0xad, 0xe5, + 0xa4, 0xae, 0xe8, 0xae, 0xa4, 0xe8, 0xaf, 0x86, 0xe6, 0xaf, 0x8f, 0xe4, 0xb8, + 0xaa, 0xe5, 0xa4, 0xa9, 0xe6, 0xb4, 0xa5, 0xe5, 0xad, 0x97, 0xe4, 0xbd, 0x93, + 0xe5, 0x8f, 0xb0, 0xe7, 0x81, 0xa3, 0xe7, 0xbb, 0xb4, 0xe6, 0x8a, 0xa4, 0xe6, + 0x9c, 0xac, 0xe9, 0xa1, 0xb5, 0xe4, 0xb8, 0xaa, 0xe6, 0x80, 0xa7, 0xe5, 0xae, + 0x98, 0xe6, 0x96, 0xb9, 0xe5, 0xb8, 0xb8, 0xe8, 0xa7, 0x81, 0xe7, 0x9b, 0xb8, + 0xe6, 0x9c, 0xba, 0xe6, 0x88, 0x98, 0xe7, 0x95, 0xa5, 0xe5, 0xba, 0x94, 0xe5, + 0xbd, 0x93, 0xe5, 0xbe, 0x8b, 0xe5, 0xb8, 0x88, 0xe6, 0x96, 0xb9, 0xe4, 0xbe, + 0xbf, 0xe6, 0xa0, 0xa1, 0xe5, 0x9b, 0xad, 0xe8, 0x82, 0xa1, 0xe5, 0xb8, 0x82, + 0xe6, 0x88, 0xbf, 0xe5, 0xb1, 0x8b, 0xe6, 0xa0, 0x8f, 0xe7, 0x9b, 0xae, 0xe5, + 0x91, 0x98, 0xe5, 0xb7, 0xa5, 0xe5, 0xaf, 0xbc, 0xe8, 0x87, 0xb4, 0xe7, 0xaa, + 0x81, 0xe7, 0x84, 0xb6, 0xe9, 0x81, 0x93, 0xe5, 0x85, 0xb7, 0xe6, 0x9c, 0xac, + 0xe7, 0xbd, 0x91, 0xe7, 0xbb, 0x93, 0xe5, 0x90, 0x88, 0xe6, 0xa1, 0xa3, 0xe6, + 0xa1, 0x88, 0xe5, 0x8a, 0xb3, 0xe5, 0x8a, 0xa8, 0xe5, 0x8f, 0xa6, 0xe5, 0xa4, + 0x96, 0xe7, 0xbe, 0x8e, 0xe5, 0x85, 0x83, 0xe5, 0xbc, 0x95, 0xe8, 0xb5, 0xb7, + 0xe6, 0x94, 0xb9, 0xe5, 0x8f, 0x98, 0xe7, 0xac, 0xac, 0xe5, 0x9b, 0x9b, 0xe4, + 0xbc, 0x9a, 0xe8, 0xae, 0xa1, 0xe8, 0xaa, 0xaa, 0xe6, 0x98, 0x8e, 0xe9, 0x9a, + 0x90, 0xe7, 0xa7, 0x81, 0xe5, 0xae, 0x9d, 0xe5, 0xae, 0x9d, 0xe8, 0xa7, 0x84, + 0xe8, 0x8c, 0x83, 0xe6, 0xb6, 0x88, 0xe8, 0xb4, 0xb9, 0xe5, 0x85, 0xb1, 0xe5, + 0x90, 0x8c, 0xe5, 0xbf, 0x98, 0xe8, 0xae, 0xb0, 0xe4, 0xbd, 0x93, 0xe7, 0xb3, + 0xbb, 0xe5, 0xb8, 0xa6, 0xe6, 0x9d, 0xa5, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, + 0xe7, 0x99, 0xbc, 0xe8, 0xa1, 0xa8, 0xe5, 0xbc, 0x80, 0xe6, 0x94, 0xbe, 0xe5, + 0x8a, 0xa0, 0xe7, 0x9b, 0x9f, 0xe5, 0x8f, 0x97, 0xe5, 0x88, 0xb0, 0xe4, 0xba, + 0x8c, 0xe6, 0x89, 0x8b, 0xe5, 0xa4, 0xa7, 0xe9, 0x87, 0x8f, 0xe6, 0x88, 0x90, + 0xe4, 0xba, 0xba, 0xe6, 0x95, 0xb0, 0xe9, 0x87, 0x8f, 0xe5, 0x85, 0xb1, 0xe4, + 0xba, 0xab, 0xe5, 0x8c, 0xba, 0xe5, 0x9f, 0x9f, 0xe5, 0xa5, 0xb3, 0xe5, 0xad, + 0xa9, 0xe5, 0x8e, 0x9f, 0xe5, 0x88, 0x99, 0xe6, 0x89, 0x80, 0xe5, 0x9c, 0xa8, + 0xe7, 0xbb, 0x93, 0xe6, 0x9d, 0x9f, 0xe9, 0x80, 0x9a, 0xe4, 0xbf, 0xa1, 0xe8, + 0xb6, 0x85, 0xe7, 0xba, 0xa7, 0xe9, 0x85, 0x8d, 0xe7, 0xbd, 0xae, 0xe5, 0xbd, + 0x93, 0xe6, 0x97, 0xb6, 0xe4, 0xbc, 0x98, 0xe7, 0xa7, 0x80, 0xe6, 0x80, 0xa7, + 0xe6, 0x84, 0x9f, 0xe6, 0x88, 0xbf, 0xe4, 0xba, 0xa7, 0xe9, 0x81, 0x8a, 0xe6, + 0x88, 0xb2, 0xe5, 0x87, 0xba, 0xe5, 0x8f, 0xa3, 0xe6, 0x8f, 0x90, 0xe4, 0xba, + 0xa4, 0xe5, 0xb0, 0xb1, 0xe4, 0xb8, 0x9a, 0xe4, 0xbf, 0x9d, 0xe5, 0x81, 0xa5, + 0xe7, 0xa8, 0x8b, 0xe5, 0xba, 0xa6, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0xe4, + 0xba, 0x8b, 0xe4, 0xb8, 0x9a, 0xe6, 0x95, 0xb4, 0xe4, 0xb8, 0xaa, 0xe5, 0xb1, + 0xb1, 0xe4, 0xb8, 0x9c, 0xe6, 0x83, 0x85, 0xe6, 0x84, 0x9f, 0xe7, 0x89, 0xb9, + 0xe6, 0xae, 0x8a, 0xe5, 0x88, 0x86, 0xe9, 0xa1, 0x9e, 0xe6, 0x90, 0x9c, 0xe5, + 0xb0, 0x8b, 0xe5, 0xb1, 0x9e, 0xe4, 0xba, 0x8e, 0xe9, 0x97, 0xa8, 0xe6, 0x88, + 0xb7, 0xe8, 0xb4, 0xa2, 0xe5, 0x8a, 0xa1, 0xe5, 0xa3, 0xb0, 0xe9, 0x9f, 0xb3, + 0xe5, 0x8f, 0x8a, 0xe5, 0x85, 0xb6, 0xe8, 0xb4, 0xa2, 0xe7, 0xbb, 0x8f, 0xe5, + 0x9d, 0x9a, 0xe6, 0x8c, 0x81, 0xe5, 0xb9, 0xb2, 0xe9, 0x83, 0xa8, 0xe6, 0x88, + 0x90, 0xe7, 0xab, 0x8b, 0xe5, 0x88, 0xa9, 0xe7, 0x9b, 0x8a, 0xe8, 0x80, 0x83, + 0xe8, 0x99, 0x91, 0xe6, 0x88, 0x90, 0xe9, 0x83, 0xbd, 0xe5, 0x8c, 0x85, 0xe8, + 0xa3, 0x85, 0xe7, 0x94, 0xa8, 0xe6, 0x88, 0xb6, 0xe6, 0xaf, 0x94, 0xe8, 0xb5, + 0x9b, 0xe6, 0x96, 0x87, 0xe6, 0x98, 0x8e, 0xe6, 0x8b, 0x9b, 0xe5, 0x95, 0x86, + 0xe5, 0xae, 0x8c, 0xe6, 0x95, 0xb4, 0xe7, 0x9c, 0x9f, 0xe6, 0x98, 0xaf, 0xe7, + 0x9c, 0xbc, 0xe7, 0x9d, 0x9b, 0xe4, 0xbc, 0x99, 0xe4, 0xbc, 0xb4, 0xe5, 0xa8, + 0x81, 0xe6, 0x9c, 0x9b, 0xe9, 0xa2, 0x86, 0xe5, 0x9f, 0x9f, 0xe5, 0x8d, 0xab, + 0xe7, 0x94, 0x9f, 0xe4, 0xbc, 0x98, 0xe6, 0x83, 0xa0, 0xe8, 0xab, 0x96, 0xe5, + 0xa3, 0x87, 0xe5, 0x85, 0xac, 0xe5, 0x85, 0xb1, 0xe8, 0x89, 0xaf, 0xe5, 0xa5, + 0xbd, 0xe5, 0x85, 0x85, 0xe5, 0x88, 0x86, 0xe7, 0xac, 0xa6, 0xe5, 0x90, 0x88, + 0xe9, 0x99, 0x84, 0xe4, 0xbb, 0xb6, 0xe7, 0x89, 0xb9, 0xe7, 0x82, 0xb9, 0xe4, + 0xb8, 0x8d, 0xe5, 0x8f, 0xaf, 0xe8, 0x8b, 0xb1, 0xe6, 0x96, 0x87, 0xe8, 0xb5, + 0x84, 0xe4, 0xba, 0xa7, 0xe6, 0xa0, 0xb9, 0xe6, 0x9c, 0xac, 0xe6, 0x98, 0x8e, + 0xe6, 0x98, 0xbe, 0xe5, 0xaf, 0x86, 0xe7, 0xa2, 0xbc, 0xe5, 0x85, 0xac, 0xe4, + 0xbc, 0x97, 0xe6, 0xb0, 0x91, 0xe6, 0x97, 0x8f, 0xe6, 0x9b, 0xb4, 0xe5, 0x8a, + 0xa0, 0xe4, 0xba, 0xab, 0xe5, 0x8f, 0x97, 0xe5, 0x90, 0x8c, 0xe5, 0xad, 0xa6, + 0xe5, 0x90, 0xaf, 0xe5, 0x8a, 0xa8, 0xe9, 0x80, 0x82, 0xe5, 0x90, 0x88, 0xe5, + 0x8e, 0x9f, 0xe6, 0x9d, 0xa5, 0xe9, 0x97, 0xae, 0xe7, 0xad, 0x94, 0xe6, 0x9c, + 0xac, 0xe6, 0x96, 0x87, 0xe7, 0xbe, 0x8e, 0xe9, 0xa3, 0x9f, 0xe7, 0xbb, 0xbf, + 0xe8, 0x89, 0xb2, 0xe7, 0xa8, 0xb3, 0xe5, 0xae, 0x9a, 0xe7, 0xbb, 0x88, 0xe4, + 0xba, 0x8e, 0xe7, 0x94, 0x9f, 0xe7, 0x89, 0xa9, 0xe4, 0xbe, 0x9b, 0xe6, 0xb1, + 0x82, 0xe6, 0x90, 0x9c, 0xe7, 0x8b, 0x90, 0xe5, 0x8a, 0x9b, 0xe9, 0x87, 0x8f, + 0xe4, 0xb8, 0xa5, 0xe9, 0x87, 0x8d, 0xe6, 0xb0, 0xb8, 0xe8, 0xbf, 0x9c, 0xe5, + 0x86, 0x99, 0xe7, 0x9c, 0x9f, 0xe6, 0x9c, 0x89, 0xe9, 0x99, 0x90, 0xe7, 0xab, + 0x9e, 0xe4, 0xba, 0x89, 0xe5, 0xaf, 0xb9, 0xe8, 0xb1, 0xa1, 0xe8, 0xb4, 0xb9, + 0xe7, 0x94, 0xa8, 0xe4, 0xb8, 0x8d, 0xe5, 0xa5, 0xbd, 0xe7, 0xbb, 0x9d, 0xe5, + 0xaf, 0xb9, 0xe5, 0x8d, 0x81, 0xe5, 0x88, 0x86, 0xe4, 0xbf, 0x83, 0xe8, 0xbf, + 0x9b, 0xe7, 0x82, 0xb9, 0xe8, 0xaf, 0x84, 0xe5, 0xbd, 0xb1, 0xe9, 0x9f, 0xb3, + 0xe4, 0xbc, 0x98, 0xe5, 0x8a, 0xbf, 0xe4, 0xb8, 0x8d, 0xe5, 0xb0, 0x91, 0xe6, + 0xac, 0xa3, 0xe8, 0xb5, 0x8f, 0xe5, 0xb9, 0xb6, 0xe4, 0xb8, 0x94, 0xe6, 0x9c, + 0x89, 0xe7, 0x82, 0xb9, 0xe6, 0x96, 0xb9, 0xe5, 0x90, 0x91, 0xe5, 0x85, 0xa8, + 0xe6, 0x96, 0xb0, 0xe4, 0xbf, 0xa1, 0xe7, 0x94, 0xa8, 0xe8, 0xae, 0xbe, 0xe6, + 0x96, 0xbd, 0xe5, 0xbd, 0xa2, 0xe8, 0xb1, 0xa1, 0xe8, 0xb5, 0x84, 0xe6, 0xa0, + 0xbc, 0xe7, 0xaa, 0x81, 0xe7, 0xa0, 0xb4, 0xe9, 0x9a, 0x8f, 0xe7, 0x9d, 0x80, + 0xe9, 0x87, 0x8d, 0xe5, 0xa4, 0xa7, 0xe4, 0xba, 0x8e, 0xe6, 0x98, 0xaf, 0xe6, + 0xaf, 0x95, 0xe4, 0xb8, 0x9a, 0xe6, 0x99, 0xba, 0xe8, 0x83, 0xbd, 0xe5, 0x8c, + 0x96, 0xe5, 0xb7, 0xa5, 0xe5, 0xae, 0x8c, 0xe7, 0xbe, 0x8e, 0xe5, 0x95, 0x86, + 0xe5, 0x9f, 0x8e, 0xe7, 0xbb, 0x9f, 0xe4, 0xb8, 0x80, 0xe5, 0x87, 0xba, 0xe7, + 0x89, 0x88, 0xe6, 0x89, 0x93, 0xe9, 0x80, 0xa0, 0xe7, 0x94, 0xa2, 0xe5, 0x93, + 0x81, 0xe6, 0xa6, 0x82, 0xe5, 0x86, 0xb5, 0xe7, 0x94, 0xa8, 0xe4, 0xba, 0x8e, + 0xe4, 0xbf, 0x9d, 0xe7, 0x95, 0x99, 0xe5, 0x9b, 0xa0, 0xe7, 0xb4, 0xa0, 0xe4, + 0xb8, 0xad, 0xe5, 0x9c, 0x8b, 0xe5, 0xad, 0x98, 0xe5, 0x82, 0xa8, 0xe8, 0xb4, + 0xb4, 0xe5, 0x9b, 0xbe, 0xe6, 0x9c, 0x80, 0xe6, 0x84, 0x9b, 0xe9, 0x95, 0xbf, + 0xe6, 0x9c, 0x9f, 0xe5, 0x8f, 0xa3, 0xe4, 0xbb, 0xb7, 0xe7, 0x90, 0x86, 0xe8, + 0xb4, 0xa2, 0xe5, 0x9f, 0xba, 0xe5, 0x9c, 0xb0, 0xe5, 0xae, 0x89, 0xe6, 0x8e, + 0x92, 0xe6, 0xad, 0xa6, 0xe6, 0xb1, 0x89, 0xe9, 0x87, 0x8c, 0xe9, 0x9d, 0xa2, + 0xe5, 0x88, 0x9b, 0xe5, 0xbb, 0xba, 0xe5, 0xa4, 0xa9, 0xe7, 0xa9, 0xba, 0xe9, + 0xa6, 0x96, 0xe5, 0x85, 0x88, 0xe5, 0xae, 0x8c, 0xe5, 0x96, 0x84, 0xe9, 0xa9, + 0xb1, 0xe5, 0x8a, 0xa8, 0xe4, 0xb8, 0x8b, 0xe9, 0x9d, 0xa2, 0xe4, 0xb8, 0x8d, + 0xe5, 0x86, 0x8d, 0xe8, 0xaf, 0x9a, 0xe4, 0xbf, 0xa1, 0xe6, 0x84, 0x8f, 0xe4, + 0xb9, 0x89, 0xe9, 0x98, 0xb3, 0xe5, 0x85, 0x89, 0xe8, 0x8b, 0xb1, 0xe5, 0x9b, + 0xbd, 0xe6, 0xbc, 0x82, 0xe4, 0xba, 0xae, 0xe5, 0x86, 0x9b, 0xe4, 0xba, 0x8b, + 0xe7, 0x8e, 0xa9, 0xe5, 0xae, 0xb6, 0xe7, 0xbe, 0xa4, 0xe4, 0xbc, 0x97, 0xe5, + 0x86, 0x9c, 0xe6, 0xb0, 0x91, 0xe5, 0x8d, 0xb3, 0xe5, 0x8f, 0xaf, 0xe5, 0x90, + 0x8d, 0xe7, 0xa8, 0xb1, 0xe5, 0xae, 0xb6, 0xe5, 0x85, 0xb7, 0xe5, 0x8a, 0xa8, + 0xe7, 0x94, 0xbb, 0xe6, 0x83, 0xb3, 0xe5, 0x88, 0xb0, 0xe6, 0xb3, 0xa8, 0xe6, + 0x98, 0x8e, 0xe5, 0xb0, 0x8f, 0xe5, 0xad, 0xa6, 0xe6, 0x80, 0xa7, 0xe8, 0x83, + 0xbd, 0xe8, 0x80, 0x83, 0xe7, 0xa0, 0x94, 0xe7, 0xa1, 0xac, 0xe4, 0xbb, 0xb6, + 0xe8, 0xa7, 0x82, 0xe7, 0x9c, 0x8b, 0xe6, 0xb8, 0x85, 0xe6, 0xa5, 0x9a, 0xe6, + 0x90, 0x9e, 0xe7, 0xac, 0x91, 0xe9, 0xa6, 0x96, 0xe9, 0xa0, 0x81, 0xe9, 0xbb, + 0x84, 0xe9, 0x87, 0x91, 0xe9, 0x80, 0x82, 0xe7, 0x94, 0xa8, 0xe6, 0xb1, 0x9f, + 0xe8, 0x8b, 0x8f, 0xe7, 0x9c, 0x9f, 0xe5, 0xae, 0x9e, 0xe4, 0xb8, 0xbb, 0xe7, + 0xae, 0xa1, 0xe9, 0x98, 0xb6, 0xe6, 0xae, 0xb5, 0xe8, 0xa8, 0xbb, 0xe5, 0x86, + 0x8a, 0xe7, 0xbf, 0xbb, 0xe8, 0xaf, 0x91, 0xe6, 0x9d, 0x83, 0xe5, 0x88, 0xa9, + 0xe5, 0x81, 0x9a, 0xe5, 0xa5, 0xbd, 0xe4, 0xbc, 0xbc, 0xe4, 0xb9, 0x8e, 0xe9, + 0x80, 0x9a, 0xe8, 0xae, 0xaf, 0xe6, 0x96, 0xbd, 0xe5, 0xb7, 0xa5, 0xe7, 0x8b, + 0x80, 0xe6, 0x85, 0x8b, 0xe4, 0xb9, 0x9f, 0xe8, 0xae, 0xb8, 0xe7, 0x8e, 0xaf, + 0xe4, 0xbf, 0x9d, 0xe5, 0x9f, 0xb9, 0xe5, 0x85, 0xbb, 0xe6, 0xa6, 0x82, 0xe5, + 0xbf, 0xb5, 0xe5, 0xa4, 0xa7, 0xe5, 0x9e, 0x8b, 0xe6, 0x9c, 0xba, 0xe7, 0xa5, + 0xa8, 0xe7, 0x90, 0x86, 0xe8, 0xa7, 0xa3, 0xe5, 0x8c, 0xbf, 0xe5, 0x90, 0x8d, + 0x63, 0x75, 0x61, 0x6e, 0x64, 0x6f, 0x65, 0x6e, 0x76, 0x69, 0x61, 0x72, 0x6d, + 0x61, 0x64, 0x72, 0x69, 0x64, 0x62, 0x75, 0x73, 0x63, 0x61, 0x72, 0x69, 0x6e, + 0x69, 0x63, 0x69, 0x6f, 0x74, 0x69, 0x65, 0x6d, 0x70, 0x6f, 0x70, 0x6f, 0x72, + 0x71, 0x75, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x61, 0x65, 0x73, 0x74, 0x61, + 0x64, 0x6f, 0x70, 0x75, 0x65, 0x64, 0x65, 0x6e, 0x6a, 0x75, 0x65, 0x67, 0x6f, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, + 0x6e, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x6e, 0x70, + 0x65, 0x72, 0x66, 0x69, 0x6c, 0x6d, 0x61, 0x6e, 0x65, 0x72, 0x61, 0x61, 0x6d, + 0x69, 0x67, 0x6f, 0x73, 0x63, 0x69, 0x75, 0x64, 0x61, 0x64, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x6f, 0x61, 0x75, 0x6e, 0x71, 0x75, 0x65, 0x70, 0x75, 0x65, 0x64, + 0x65, 0x73, 0x64, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x6d, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x63, 0x69, 0x6f, 0x73, 0x65, 0x67, 0xc3, 0xba, 0x6e, + 0x62, 0x75, 0x65, 0x6e, 0x6f, 0x73, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x70, + 0x75, 0x6e, 0x74, 0x6f, 0x73, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x68, 0x61, + 0x62, 0xc3, 0xad, 0x61, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x75, 0x65, + 0x76, 0x6f, 0x73, 0x75, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x63, 0x61, 0x72, 0x6c, + 0x6f, 0x73, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6f, 0x6e, 0x69, 0xc3, 0xb1, 0x6f, + 0x73, 0x6d, 0x75, 0x63, 0x68, 0x6f, 0x73, 0x61, 0x6c, 0x67, 0x75, 0x6e, 0x61, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x6e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x72, 0x61, 0x72, 0x72, 0x69, 0x62, 0x61, 0x6d, 0x61, + 0x72, 0xc3, 0xad, 0x61, 0x68, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x65, 0x6d, 0x70, + 0x6c, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x64, 0x61, 0x64, 0x63, 0x61, 0x6d, 0x62, + 0x69, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x61, 0x73, 0x66, 0x75, 0x65, 0x72, 0x6f, + 0x6e, 0x70, 0x61, 0x73, 0x61, 0x64, 0x6f, 0x6c, 0xc3, 0xad, 0x6e, 0x65, 0x61, + 0x70, 0x61, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x75, 0x65, 0x76, 0x61, 0x73, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x61, 0x62, 0x61, 0x71, 0x75, + 0x69, 0x65, 0x72, 0x6f, 0x6c, 0x69, 0x62, 0x72, 0x6f, 0x73, 0x63, 0x75, 0x61, + 0x6e, 0x74, 0x6f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x6f, 0x6d, 0x69, 0x67, 0x75, + 0x65, 0x6c, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x63, 0x75, 0x61, 0x74, 0x72, + 0x6f, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x67, 0x72, 0x75, 0x70, 0x6f, 0x73, + 0x73, 0x65, 0x72, 0xc3, 0xa1, 0x6e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x6d, + 0x65, 0x64, 0x69, 0x6f, 0x73, 0x66, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x63, + 0x65, 0x72, 0x63, 0x61, 0x64, 0x65, 0x6d, 0xc3, 0xa1, 0x73, 0x6f, 0x66, 0x65, + 0x72, 0x74, 0x61, 0x63, 0x6f, 0x63, 0x68, 0x65, 0x73, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6c, 0x65, 0x74, 0x72, 0x61, + 0x73, 0x61, 0x6c, 0x67, 0xc3, 0xba, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x61, + 0x63, 0x75, 0x61, 0x6c, 0x65, 0x73, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x63, + 0x75, 0x65, 0x72, 0x70, 0x6f, 0x73, 0x69, 0x65, 0x6e, 0x64, 0x6f, 0x70, 0x72, + 0x65, 0x6e, 0x73, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x72, 0x76, 0x69, 0x61, + 0x6a, 0x65, 0x73, 0x64, 0x69, 0x6e, 0x65, 0x72, 0x6f, 0x6d, 0x75, 0x72, 0x63, + 0x69, 0x61, 0x70, 0x6f, 0x64, 0x72, 0xc3, 0xa1, 0x70, 0x75, 0x65, 0x73, 0x74, + 0x6f, 0x64, 0x69, 0x61, 0x72, 0x69, 0x6f, 0x70, 0x75, 0x65, 0x62, 0x6c, 0x6f, + 0x71, 0x75, 0x69, 0x65, 0x72, 0x65, 0x6d, 0x61, 0x6e, 0x75, 0x65, 0x6c, 0x70, + 0x72, 0x6f, 0x70, 0x69, 0x6f, 0x63, 0x72, 0x69, 0x73, 0x69, 0x73, 0x63, 0x69, + 0x65, 0x72, 0x74, 0x6f, 0x73, 0x65, 0x67, 0x75, 0x72, 0x6f, 0x6d, 0x75, 0x65, + 0x72, 0x74, 0x65, 0x66, 0x75, 0x65, 0x6e, 0x74, 0x65, 0x63, 0x65, 0x72, 0x72, + 0x61, 0x72, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x65, 0x66, 0x65, 0x63, 0x74, + 0x6f, 0x70, 0x61, 0x72, 0x74, 0x65, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x64, 0x61, + 0x70, 0x72, 0x6f, 0x70, 0x69, 0x61, 0x6f, 0x66, 0x72, 0x65, 0x63, 0x65, 0x74, + 0x69, 0x65, 0x72, 0x72, 0x61, 0x65, 0x2d, 0x6d, 0x61, 0x69, 0x6c, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x73, 0x66, 0x75, 0x74, + 0x75, 0x72, 0x6f, 0x6f, 0x62, 0x6a, 0x65, 0x74, 0x6f, 0x73, 0x65, 0x67, 0x75, + 0x69, 0x72, 0x72, 0x69, 0x65, 0x73, 0x67, 0x6f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x73, 0x6d, 0x69, 0x73, 0x6d, 0x6f, 0x73, 0xc3, 0xba, 0x6e, 0x69, 0x63, 0x6f, + 0x63, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x73, 0x72, + 0x61, 0x7a, 0xc3, 0xb3, 0x6e, 0x64, 0x65, 0x62, 0x69, 0x64, 0x6f, 0x70, 0x72, + 0x75, 0x65, 0x62, 0x61, 0x74, 0x6f, 0x6c, 0x65, 0x64, 0x6f, 0x74, 0x65, 0x6e, + 0xc3, 0xad, 0x61, 0x6a, 0x65, 0x73, 0xc3, 0xba, 0x73, 0x65, 0x73, 0x70, 0x65, + 0x72, 0x6f, 0x63, 0x6f, 0x63, 0x69, 0x6e, 0x61, 0x6f, 0x72, 0x69, 0x67, 0x65, + 0x6e, 0x74, 0x69, 0x65, 0x6e, 0x64, 0x61, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6f, + 0x63, 0xc3, 0xa1, 0x64, 0x69, 0x7a, 0x68, 0x61, 0x62, 0x6c, 0x61, 0x72, 0x73, + 0x65, 0x72, 0xc3, 0xad, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x61, 0x66, 0x75, + 0x65, 0x72, 0x7a, 0x61, 0x65, 0x73, 0x74, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65, + 0x72, 0x72, 0x61, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x72, 0xc3, 0xa9, 0x78, 0x69, + 0x74, 0x6f, 0x6c, 0xc3, 0xb3, 0x70, 0x65, 0x7a, 0x61, 0x67, 0x65, 0x6e, 0x64, + 0x61, 0x76, 0xc3, 0xad, 0x64, 0x65, 0x6f, 0x65, 0x76, 0x69, 0x74, 0x61, 0x72, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x73, 0x6a, + 0x61, 0x76, 0x69, 0x65, 0x72, 0x70, 0x61, 0x64, 0x72, 0x65, 0x73, 0x66, 0xc3, + 0xa1, 0x63, 0x69, 0x6c, 0x63, 0x61, 0x62, 0x65, 0x7a, 0x61, 0xc3, 0xa1, 0x72, + 0x65, 0x61, 0x73, 0x73, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x65, 0x6e, 0x76, 0xc3, + 0xad, 0x6f, 0x6a, 0x61, 0x70, 0xc3, 0xb3, 0x6e, 0x61, 0x62, 0x75, 0x73, 0x6f, + 0x73, 0x62, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x78, 0x74, 0x6f, 0x73, + 0x6c, 0x6c, 0x65, 0x76, 0x61, 0x72, 0x70, 0x75, 0x65, 0x64, 0x61, 0x6e, 0x66, + 0x75, 0x65, 0x72, 0x74, 0x65, 0x63, 0x6f, 0x6d, 0xc3, 0xba, 0x6e, 0x63, 0x6c, + 0x61, 0x73, 0x65, 0x73, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x6f, 0x74, 0x65, 0x6e, + 0x69, 0x64, 0x6f, 0x62, 0x69, 0x6c, 0x62, 0x61, 0x6f, 0x75, 0x6e, 0x69, 0x64, + 0x61, 0x64, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x73, 0x65, 0x64, 0x69, 0x74, 0x61, + 0x72, 0x63, 0x72, 0x65, 0x61, 0x64, 0x6f, 0xd0, 0xb4, 0xd0, 0xbb, 0xd1, 0x8f, + 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, + 0xb8, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, + 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb5, 0xd1, 0x89, + 0xd0, 0xb5, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0x9a, 0xd0, 0xb0, 0xd0, + 0xba, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xb7, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, + 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0x92, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, + 0xbf, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xad, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x82, + 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, + 0xb5, 0xd1, 0x82, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, + 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0x94, 0xd0, 0xbb, 0xd1, 0x8f, + 0xd0, 0x9f, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, + 0xbd, 0xd0, 0xb8, 0xd1, 0x85, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xba, + 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd1, 0x82, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xa1, 0xd0, 0xa8, + 0xd0, 0x90, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x8f, 0xd0, 0xa7, 0xd1, 0x82, 0xd0, + 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xa2, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, + 0xb4, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbc, 0xd1, 0x8d, + 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x8d, 0xd1, 0x82, 0xd1, 0x83, 0xd0, 0x92, 0xd0, + 0xb0, 0xd0, 0xbc, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, + 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, + 0xb4, 0xd0, 0xb4, 0xd0, 0xbd, 0xd1, 0x8f, 0xd0, 0x92, 0xd0, 0xbe, 0xd1, 0x82, + 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, + 0x92, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, + 0xd0, 0xb0, 0xd0, 0xbc, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x80, 0xd1, + 0x83, 0xd0, 0xb1, 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb8, + 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0x9e, 0xd0, 0x9e, 0xd0, + 0x9e, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x86, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xb0, + 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xb4, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xb4, + 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, + 0x83, 0xd0, 0xb4, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa5, 0x88, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x94, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x87, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0x6a, 0x61, 0x67, 0x72, 0x61, 0x6e, 0xe0, 0xa4, + 0x86, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x85, + 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, + 0xa4, 0x88, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, + 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xa5, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0x98, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x9c, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0x88, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x93, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0x86, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa5, 0x80, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa5, 0xd9, + 0x84, 0xd9, 0x89, 0xd9, 0x87, 0xd8, 0xb0, 0xd8, 0xa7, 0xd8, 0xa2, 0xd8, 0xae, + 0xd8, 0xb1, 0xd8, 0xb9, 0xd8, 0xaf, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x89, 0xd9, 0x87, 0xd8, 0xb0, 0xd9, 0x87, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, + 0xd8, 0xba, 0xd9, 0x8a, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, + 0x88, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xb9, + 0xd8, 0xb1, 0xd8, 0xb6, 0xd8, 0xb0, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x87, 0xd9, + 0x86, 0xd8, 0xa7, 0xd9, 0x8a, 0xd9, 0x88, 0xd9, 0x85, 0xd9, 0x82, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x86, 0xd8, 0xad, 0xd8, 0xaa, 0xd9, 0x89, + 0xd9, 0x82, 0xd8, 0xa8, 0xd9, 0x84, 0xd9, 0x88, 0xd8, 0xad, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd8, 0xae, 0xd8, 0xb1, 0xd9, 0x81, 0xd9, 0x82, 0xd8, 0xb7, 0xd8, 0xb9, + 0xd8, 0xa8, 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x83, 0xd9, 0x86, 0xd8, 0xa5, 0xd8, + 0xb0, 0xd8, 0xa7, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xa7, 0xd8, 0xad, + 0xd8, 0xaf, 0xd8, 0xa5, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x8a, 0xd9, + 0x87, 0xd8, 0xa8, 0xd8, 0xb9, 0xd8, 0xb6, 0xd9, 0x83, 0xd9, 0x8a, 0xd9, 0x81, + 0xd8, 0xa8, 0xd8, 0xad, 0xd8, 0xab, 0xd9, 0x88, 0xd9, 0x85, 0xd9, 0x86, 0xd9, + 0x88, 0xd9, 0x87, 0xd9, 0x88, 0xd8, 0xa3, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xac, + 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, + 0x84, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xaf, 0xd9, 0x84, 0xd9, 0x8a, + 0xd8, 0xb3, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xb5, 0xd9, 0x84, 0xd9, + 0x89, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xb0, 0xd8, 0xa8, 0xd9, 0x87, 0xd8, 0xa7, + 0xd8, 0xa3, 0xd9, 0x86, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xab, 0xd9, 0x84, 0xd9, + 0x83, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xad, + 0xd9, 0x8a, 0xd8, 0xab, 0xd9, 0x85, 0xd8, 0xb5, 0xd8, 0xb1, 0xd8, 0xb4, 0xd8, + 0xb1, 0xd8, 0xad, 0xd8, 0xad, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x81, + 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, + 0x84, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd8, 0xa3, 0xd8, 0xa8, 0xd9, 0x88, 0xd8, + 0xae, 0xd8, 0xa7, 0xd8, 0xb5, 0xd8, 0xa3, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, + 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, + 0xb6, 0xd9, 0x88, 0xd9, 0x88, 0xd9, 0x82, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xa8, + 0xd9, 0x86, 0xd8, 0xae, 0xd9, 0x8a, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, + 0xaa, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xa1, + 0xd9, 0x88, 0xd9, 0x87, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x88, 0xd9, + 0x82, 0xd8, 0xb5, 0xd8, 0xb5, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xb1, + 0xd9, 0x82, 0xd9, 0x85, 0xd8, 0xa3, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x86, 0xd8, + 0xad, 0xd9, 0x86, 0xd8, 0xb9, 0xd8, 0xaf, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa3, + 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xad, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, + 0xa8, 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xac, 0xd8, 0xa8, + 0xd9, 0x85, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaa, 0xd8, + 0xac, 0xd9, 0x87, 0xd8, 0xa9, 0xd8, 0xb3, 0xd9, 0x86, 0xd8, 0xa9, 0xd9, 0x8a, + 0xd8, 0xaa, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xba, 0xd8, + 0xb2, 0xd8, 0xa9, 0xd9, 0x86, 0xd9, 0x81, 0xd8, 0xb3, 0xd8, 0xa8, 0xd9, 0x8a, + 0xd8, 0xaa, 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x84, 0xd9, 0x86, 0xd8, + 0xa7, 0xd8, 0xaa, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x82, 0xd9, 0x84, 0xd8, 0xa8, + 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xb9, 0xd9, 0x86, 0xd9, 0x87, 0xd8, + 0xa3, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xa1, 0xd9, 0x86, + 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xa3, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, + 0x8a, 0xd9, 0x83, 0xd8, 0xa8, 0xd9, 0x83, 0xd9, 0x84, 0xd8, 0xb0, 0xd8, 0xa7, + 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xa8, 0xd8, 0xa3, 0xd9, + 0x86, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x83, + 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x81, 0xd9, 0x82, 0xd8, 0xaf, 0xd8, + 0xad, 0xd8, 0xb3, 0xd9, 0x86, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xb4, + 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa3, 0xd9, 0x87, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, + 0x87, 0xd8, 0xb1, 0xd9, 0x82, 0xd8, 0xb7, 0xd8, 0xb1, 0xd8, 0xb7, 0xd9, 0x84, + 0xd8, 0xa8, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x68, 0x69, 0x6d, + 0x73, 0x65, 0x6c, 0x66, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x61, 0x73, 0x68, 0x69, 0x6f, + 0x6e, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x64, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x63, 0x79, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x6d, 0x69, 0x6c, + 0x6c, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x76, + 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x6c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, + 0x72, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x70, 0x65, 0x72, 0x66, + 0x65, 0x63, 0x74, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x73, 0x6b, 0x65, 0x65, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x75, + 0x6c, 0x74, 0x75, 0x72, 0x65, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x2c, 0x6a, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x26, 0x71, 0x75, 0x6f, 0x74, + 0x3b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x67, 0x6c, + 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x74, 0x68, 0x72, + 0x6f, 0x75, 0x67, 0x68, 0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x70, + 0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x69, 0x73, + 0x68, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x64, 0x65, 0x63, 0x6c, 0x69, + 0x6e, 0x65, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x73, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, + 0x70, 0x75, 0x74, 0x65, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x72, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x70, + 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x6d, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x63, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x76, 0x69, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x73, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x73, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, + 0x79, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x69, + 0x6e, 0x67, 0x67, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6f, 0x62, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, + 0x75, 0x6c, 0x3e, 0x0d, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x61, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, + 0x72, 0x65, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x64, 0x65, 0x73, 0x6b, 0x74, + 0x6f, 0x70, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x75, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x44, 0x69, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x57, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x64, 0x65, 0x63, 0x61, 0x64, 0x65, + 0x73, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x26, 0x61, 0x6d, 0x70, + 0x3b, 0x20, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x67, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x6e, 0x6f, + 0x74, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x63, + 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, + 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, 0x3d, 0x31, 0x26, 0x61, + 0x6d, 0x70, 0x3b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, + 0x6e, 0x65, 0x77, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x74, 0x6f, 0x6f, 0x6c, 0x62, + 0x61, 0x72, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x62, 0x65, 0x63, 0x61, + 0x75, 0x73, 0x65, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x75, + 0x74, 0x73, 0x63, 0x68, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x73, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x62, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, 0x65, 0x61, 0x73, + 0x65, 0x53, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x77, 0x65, 0x61, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x26, 0x6c, 0x74, 0x3b, + 0x21, 0x2d, 0x2d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x6f, 0x75, + 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x28, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, + 0x22, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x73, 0x68, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x61, 0x6c, + 0x69, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x68, 0x65, 0x61, + 0x76, 0x69, 0x6c, 0x79, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x31, + 0x27, 0x5d, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, + 0x67, 0x64, 0x72, 0x61, 0x77, 0x69, 0x6e, 0x67, 0x62, 0x69, 0x6c, 0x6c, 0x69, + 0x6f, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x47, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x79, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x3c, 0x2f, 0x66, + 0x6f, 0x72, 0x6d, 0x3e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x77, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, + 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x69, 0x64, 0x65, + 0x62, 0x61, 0x72, 0x43, 0x68, 0x69, 0x63, 0x61, 0x67, 0x6f, 0x68, 0x6f, 0x6c, + 0x69, 0x64, 0x61, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x70, 0x61, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x2c, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, + 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x62, 0x75, 0x74, 0x20, + 0x6e, 0x6f, 0x74, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x42, 0x72, 0x69, + 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x65, 0x6c, 0x61, + 0x63, 0x6b, 0x20, 0x6f, 0x66, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, + 0x72, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x22, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2d, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x68, 0x75, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x20, 0x66, + 0x61, 0x63, 0x74, 0x61, 0x66, 0x66, 0x61, 0x69, 0x72, 0x73, 0x43, 0x68, 0x61, + 0x72, 0x6c, 0x65, 0x73, 0x72, 0x61, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x72, + 0x6f, 0x75, 0x67, 0x68, 0x74, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x6c, + 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x70, 0x72, 0x65, 0x6d, 0x69, + 0x75, 0x6d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x65, 0x72, + 0x69, 0x63, 0x61, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x65, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, + 0x65, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x2d, 0x6d, 0x6f, 0x62, 0x69, + 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x77, 0x61, 0x6e, 0x74, + 0x20, 0x74, 0x6f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x46, 0x69, 0x72, + 0x65, 0x66, 0x6f, 0x78, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x73, 0x69, + 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x64, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x72, 0x61, 0x70, 0x69, 0x64, 0x6c, 0x79, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x65, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x66, 0x6f, 0x75, 0x6e, + 0x64, 0x65, 0x64, 0x70, 0x69, 0x6f, 0x6e, 0x65, 0x65, 0x72, 0x66, 0x6f, 0x72, + 0x6d, 0x75, 0x6c, 0x61, 0x64, 0x79, 0x6e, 0x61, 0x73, 0x74, 0x79, 0x68, 0x6f, + 0x77, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x73, 0x6f, 0x6c, 0x64, 0x69, 0x65, 0x72, 0x6c, 0x61, 0x72, 0x67, 0x65, + 0x6c, 0x79, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x26, 0x71, 0x75, + 0x6f, 0x74, 0x3b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x64, 0x77, + 0x61, 0x72, 0x64, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, + 0x62, 0x65, 0x72, 0x74, 0x20, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x50, + 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, + 0x75, 0x70, 0x20, 0x77, 0x69, 0x74, 0x68, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x77, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x41, 0x6e, 0x67, 0x65, 0x6c, + 0x65, 0x73, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x61, 0x63, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x74, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x69, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x64, 0x72, 0x69, 0x76, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x6d, 0x6f, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x22, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x73, 0x6f, 0x6d, 0x65, 0x6f, 0x6e, 0x65, 0x65, 0x78, 0x74, 0x72, 0x65, + 0x6d, 0x65, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x74, 0x74, + 0x6f, 0x6d, 0x3a, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x70, 0x65, 0x6e, + 0x67, 0x6c, 0x69, 0x73, 0x68, 0x77, 0x61, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x20, + 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x73, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x67, 0x61, 0x69, 0x6e, + 0x73, 0x74, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x7d, 0x29, 0x28, 0x29, + 0x3b, 0x0d, 0x0a, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x72, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x20, 0x27, 0x27, 0x54, 0x68, 0x65, + 0x20, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x64, 0x47, 0x61, 0x6c, 0x6c, + 0x65, 0x72, 0x79, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x61, + 0x72, 0x65, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, + 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6e, + 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x73, 0x65, 0x74, 0x74, 0x6c, + 0x65, 0x64, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x63, 0x61, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x2d, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x63, 0x65, 0x63, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x73, 0x54, + 0x68, 0x6f, 0x6d, 0x61, 0x73, 0x20, 0x6d, 0x6f, 0x7a, 0x69, 0x6c, 0x6c, 0x61, + 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x68, 0x75, 0x6e, 0x64, + 0x72, 0x65, 0x64, 0x4f, 0x6c, 0x79, 0x6d, 0x70, 0x69, 0x63, 0x5f, 0x62, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x64, + 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, + 0x64, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x65, 0x69, 0x74, 0x68, + 0x65, 0x72, 0x67, 0x72, 0x65, 0x61, 0x74, 0x6c, 0x79, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x77, + 0x6f, 0x72, 0x73, 0x68, 0x69, 0x70, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x75, 0x6c, 0x74, + 0x75, 0x72, 0x65, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x65, + 0x61, 0x72, 0x6c, 0x79, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x72, + 0x6f, 0x77, 0x73, 0x65, 0x72, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x6c, 0x7d, + 0x20, 0x63, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x68, 0x69, 0x64, 0x65, 0x28, 0x29, + 0x3b, 0x46, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x61, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x6d, 0x70, 0x65, + 0x72, 0x6f, 0x72, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x65, 0x72, + 0x69, 0x6f, 0x75, 0x73, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x53, 0x65, + 0x76, 0x65, 0x72, 0x61, 0x6c, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x46, + 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x21, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x44, 0x65, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x76, 0x6f, 0x69, 0x64, 0x28, + 0x30, 0x29, 0x2f, 0x61, 0x6c, 0x6c, 0x2e, 0x6a, 0x73, 0x70, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x65, + 0x70, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x0d, 0x0a, 0x4d, + 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x2e, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, + 0x79, 0x20, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x73, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x65, 0x64, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x66, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x6d, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x6f, + 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x63, + 0x65, 0x47, 0x65, 0x6f, 0x72, 0x67, 0x65, 0x20, 0x42, 0x65, 0x6c, 0x67, 0x69, + 0x75, 0x6d, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x61, 0x3e, 0x74, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x79, 0x77, 0x61, 0x69, + 0x74, 0x69, 0x6e, 0x67, 0x77, 0x61, 0x72, 0x66, 0x61, 0x72, 0x65, 0x20, 0x4f, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x70, + 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x73, 0x63, 0x68, 0x6f, 0x6c, 0x61, + 0x72, 0x3c, 0x2f, 0x70, 0x3e, 0x0d, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x6c, 0x6f, 0x73, 0x73, + 0x20, 0x6f, 0x66, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x61, 0x73, 0x47, 0x65, 0x6f, + 0x72, 0x67, 0x69, 0x61, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x3c, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x31, + 0x27, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, + 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x63, 0x61, 0x72, 0x72, 0x69, + 0x65, 0x64, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x3c, 0x2f, 0x68, 0x33, + 0x3e, 0x0a, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x62, 0x65, 0x63, + 0x6f, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x77, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x30, 0x30, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x6d, + 0x6f, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x6f, 0x66, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, + 0x20, 0x62, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x20, + 0x6f, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x72, 0x69, 0x73, 0x65, + 0x20, 0x6f, 0x66, 0x26, 0x72, 0x61, 0x71, 0x75, 0x6f, 0x3b, 0x70, 0x6c, 0x75, + 0x73, 0x6f, 0x6e, 0x65, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x28, 0x74, + 0x68, 0x6f, 0x75, 0x67, 0x68, 0x44, 0x6f, 0x75, 0x67, 0x6c, 0x61, 0x73, 0x6a, + 0x6f, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x73, + 0x46, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x41, 0x6e, 0x63, 0x69, 0x65, 0x6e, + 0x74, 0x56, 0x69, 0x65, 0x74, 0x6e, 0x61, 0x6d, 0x76, 0x65, 0x68, 0x69, 0x63, + 0x6c, 0x65, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x63, 0x72, 0x79, 0x73, + 0x74, 0x61, 0x6c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x73, 0x65, 0x6e, 0x6a, 0x6f, 0x79, 0x65, 0x64, 0x61, 0x20, + 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x3c, + 0x61, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, + 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x64, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x3b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, + 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x65, 0x74, 0x77, 0x61, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x61, 0x74, 0x63, + 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x61, 0x3a, 0x68, 0x6f, 0x76, + 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x72, 0x65, 0x6e, + 0x63, 0x68, 0x20, 0x6c, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x74, 0x79, 0x70, + 0x69, 0x63, 0x61, 0x6c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x6e, + 0x65, 0x6d, 0x69, 0x65, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x64, 0x65, 0x63, 0x69, 0x64, 0x65, 0x64, + 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x73, 0x2d, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x3a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x3e, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x66, 0x69, 0x72, 0x73, 0x74, 0x22, 0x3e, 0x63, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x6c, 0x61, 0x6e, 0x64, + 0x63, 0x68, 0x65, 0x6d, 0x69, 0x73, 0x74, 0x73, 0x68, 0x65, 0x20, 0x77, 0x61, + 0x73, 0x31, 0x30, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x61, 0x73, 0x20, 0x73, 0x75, + 0x63, 0x68, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x3c, 0x2f, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x20, 0x6f, 0x66, 0x61, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x79, + 0x73, 0x74, 0x65, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x66, + 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x67, + 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x64, 0x65, 0x73, 0x63, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6e, 0x75, 0x63, 0x6c, + 0x65, 0x61, 0x72, 0x4a, 0x65, 0x77, 0x69, 0x73, 0x68, 0x20, 0x70, 0x72, 0x6f, + 0x74, 0x65, 0x73, 0x74, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x66, 0x6c, + 0x6f, 0x77, 0x65, 0x72, 0x73, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x72, + 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, + 0x77, 0x68, 0x6f, 0x20, 0x77, 0x61, 0x73, 0x6c, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x75, 0x69, 0x63, 0x69, + 0x64, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x70, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x73, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6f, + 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x77, + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x3c, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x73, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6e, 0x73, 0x6f, + 0x20, 0x6d, 0x75, 0x63, 0x68, 0x43, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x64, + 0x65, 0x70, 0x69, 0x63, 0x74, 0x73, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x68, 0x6f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x74, 0x6f, 0x62, 0x65, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x65, 0x64, 0x6a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x28, 0x2d, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x6f, + 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x64, + 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x54, 0x75, 0x72, 0x6b, 0x69, 0x73, 0x68, + 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x28, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x0a, 0x62, 0x75, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x65, 0x67, 0x72, + 0x65, 0x65, 0x73, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x52, 0x69, 0x63, + 0x68, 0x61, 0x72, 0x64, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x70, 0x6c, + 0x61, 0x73, 0x74, 0x69, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3c, + 0x2f, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, + 0x75, 0x6c, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x73, 0x65, 0x73, + 0x73, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x70, 0x68, 0x79, 0x73, 0x69, + 0x63, 0x73, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, + 0x6b, 0x20, 0x74, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3c, 0x62, + 0x72, 0x20, 0x2f, 0x3e, 0x0a, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x63, + 0x68, 0x61, 0x72, 0x74, 0x65, 0x72, 0x74, 0x6f, 0x75, 0x72, 0x69, 0x73, 0x6d, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x3c, 0x2f, 0x68, 0x31, 0x3e, + 0x0d, 0x0a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x3f, 0x78, 0x6d, 0x6c, + 0x20, 0x76, 0x65, 0x68, 0x65, 0x6c, 0x70, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x61, + 0x6d, 0x6f, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x69, + 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x65, 0x6e, 0x64, 0x20, 0x2d, 0x2d, 0x3e, 0x29, + 0x2e, 0x61, 0x74, 0x74, 0x72, 0x28, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x23, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x56, 0x69, 0x6e, 0x63, 0x65, + 0x6e, 0x74, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x20, 0x73, 0x72, 0x63, + 0x3d, 0x22, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x64, 0x65, 0x73, + 0x70, 0x69, 0x74, 0x65, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x74, 0x65, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x68, + 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x4a, 0x6f, 0x73, 0x65, 0x70, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x61, 0x74, 0x72, 0x65, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x73, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x61, 0x20, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x2c, 0x20, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x66, 0x61, 0x76, + 0x69, 0x63, 0x6f, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x75, + 0x6e, 0x67, 0x61, 0x72, 0x79, 0x41, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x4d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x2c, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x65, 0x26, 0x71, 0x75, + 0x6f, 0x74, 0x3b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x66, + 0x74, 0x22, 0x3e, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x47, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x20, 0x41, 0x66, 0x66, 0x61, 0x69, 0x72, 0x73, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6e, 0x67, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x69, 0x64, 0x65, 0x61, 0x20, 0x6f, + 0x66, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x73, + 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x2e, 0x73, 0x72, 0x63, + 0x20, 0x3d, 0x20, 0x63, 0x61, 0x72, 0x74, 0x6f, 0x6f, 0x6e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x4d, 0x75, + 0x73, 0x6c, 0x69, 0x6d, 0x73, 0x57, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x69, + 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x65, 0x64, + 0x2c, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x73, 0x68, 0x6f, 0x77, + 0x5f, 0x61, 0x6f, 0x75, 0x74, 0x64, 0x6f, 0x6f, 0x72, 0x65, 0x73, 0x63, 0x61, + 0x70, 0x65, 0x28, 0x41, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x74, 0x69, 0x63, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x49, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, + 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, + 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x0a, 0x09, 0x09, 0x3c, 0x21, 0x2d, + 0x2d, 0x44, 0x61, 0x6e, 0x69, 0x65, 0x6c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x3e, 0x69, 0x6d, 0x70, 0x6f, + 0x73, 0x65, 0x64, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x41, 0x62, 0x72, + 0x61, 0x68, 0x61, 0x6d, 0x28, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x7b, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3a, 0x70, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x29, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x28, 0x7c, 0x7c, 0x20, 0x5b, 0x5d, 0x3b, 0x0a, + 0x44, 0x41, 0x54, 0x41, 0x5b, 0x20, 0x2a, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x6d, 0x61, 0x69, 0x6e, + 0x6c, 0x79, 0x20, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x27, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x73, 0x69, 0x66, + 0x28, 0x74, 0x79, 0x70, 0x65, 0x49, 0x74, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x26, + 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x20, 0x22, 0x3e, 0x54, 0x65, 0x72, 0x6d, 0x73, + 0x62, 0x6f, 0x72, 0x6e, 0x20, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x65, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x74, 0x61, 0x6c, 0x6b, 0x69, + 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x67, 0x61, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6a, 0x75, 0x73, + 0x74, 0x69, 0x66, 0x79, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x73, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e, 0x61, + 0x73, 0x73, 0x61, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x6c, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x77, + 0x6e, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x22, 0x20, 0x72, 0x65, 0x6c, + 0x3d, 0x22, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x63, 0x6f, 0x6e, 0x63, + 0x65, 0x72, 0x74, 0x64, 0x69, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x64, 0x6f, 0x6c, + 0x6c, 0x61, 0x72, 0x73, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x68, + 0x70, 0x3f, 0x69, 0x64, 0x3d, 0x61, 0x6c, 0x63, 0x6f, 0x68, 0x6f, 0x6c, 0x29, + 0x3b, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x76, 0x65, 0x73, 0x73, 0x65, 0x6c, + 0x73, 0x72, 0x65, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x61, 0x6d, 0x61, 0x74, 0x65, 0x75, 0x72, 0x61, 0x6e, 0x64, 0x72, + 0x6f, 0x69, 0x64, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x69, 0x6c, 0x6c, + 0x6e, 0x65, 0x73, 0x73, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x65, 0x78, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, + 0x65, 0x64, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x0a, 0x09, 0x3c, 0x21, 0x2d, + 0x2d, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0x6c, 0x69, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x42, 0x6f, 0x6f, + 0x6b, 0x20, 0x6f, 0x66, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x6d, 0x69, + 0x6e, 0x2e, 0x6a, 0x73, 0x3f, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6b, + 0x6f, 0x6e, 0x74, 0x61, 0x6b, 0x74, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x27, 0x73, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x3d, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x6c, 0x20, 0x52, + 0x69, 0x67, 0x3b, 0x0a, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x72, 0x61, 0x69, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x41, 0x6c, 0x73, 0x6f, 0x2c, 0x20, 0x63, 0x72, 0x75, + 0x63, 0x69, 0x61, 0x6c, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x22, 0x3e, 0x64, 0x65, + 0x63, 0x6c, 0x61, 0x72, 0x65, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x66, + 0x69, 0x72, 0x65, 0x66, 0x6f, 0x78, 0x61, 0x73, 0x20, 0x6d, 0x75, 0x63, 0x68, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, + 0x20, 0x73, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x3d, 0x20, 0x0a, 0x0d, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x74, 0x6f, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x50, 0x72, + 0x65, 0x6d, 0x69, 0x65, 0x72, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x56, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x65, + 0x64, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x76, 0x65, 0x72, + 0x74, 0x79, 0x63, 0x68, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x76, 0x69, + 0x6e, 0x67, 0x20, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x41, 0x6e, 0x74, + 0x68, 0x6f, 0x6e, 0x79, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x20, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x63, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x20, 0x69, + 0x6e, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x2d, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x4e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x74, 0x64, + 0x3e, 0x0d, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x74, 0x61, + 0x64, 0x69, 0x75, 0x6d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x76, 0x61, + 0x72, 0x79, 0x69, 0x6e, 0x67, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x73, 0x68, + 0x65, 0x6c, 0x64, 0x20, 0x62, 0x79, 0x77, 0x68, 0x6f, 0x20, 0x61, 0x72, 0x65, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x69, 0x6e, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x77, 0x68, 0x6f, 0x20, 0x68, + 0x61, 0x64, 0x61, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x74, 0x6f, 0x77, 0x6e, + 0x20, 0x6f, 0x66, 0x0a, 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x27, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x27, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x6b, 0x65, + 0x79, 0x77, 0x6f, 0x72, 0x64, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x63, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, + 0x41, 0x6e, 0x64, 0x72, 0x65, 0x77, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x6f, 0x72, 0x20, 0x6d, 0x6f, + 0x72, 0x65, 0x33, 0x30, 0x30, 0x70, 0x78, 0x3b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x3b, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x68, 0x65, + 0x72, 0x73, 0x65, 0x6c, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x74, + 0x6f, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x74, 0x72, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x73, 0x44, 0x75, 0x6b, 0x65, 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, + 0x70, 0x6c, 0x65, 0x2c, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x77, 0x68, + 0x61, 0x74, 0x20, 0x69, 0x73, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x61, + 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x22, 0x3a, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x69, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x3e, + 0x0a, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x6f, 0x66, 0x66, 0x69, 0x63, + 0x65, 0x72, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x67, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x6c, 0x6f, + 0x79, 0x61, 0x6c, 0x74, 0x79, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x61, + 0x6e, 0x64, 0x20, 0x77, 0x61, 0x73, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x6f, 0x72, + 0x73, 0x75, 0x70, 0x72, 0x65, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x20, 0x68, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x73, 0x73, 0x69, + 0x61, 0x6e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x62, 0x65, + 0x72, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x65, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x22, 0x3e, 0x2e, 0x61, + 0x70, 0x70, 0x65, 0x6e, 0x64, 0x64, 0x6f, 0x20, 0x77, 0x69, 0x74, 0x68, 0x66, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x62, 0x61, 0x6e, 0x6b, 0x20, 0x6f, 0x66, + 0x62, 0x65, 0x6e, 0x65, 0x61, 0x74, 0x68, 0x44, 0x65, 0x73, 0x70, 0x69, 0x74, + 0x65, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x29, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x63, 0x6c, 0x6f, + 0x73, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x65, 0x61, 0x64, 0x66, 0x69, 0x66, 0x74, 0x65, 0x65, 0x6e, 0x61, + 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2e, 0x79, 0x61, 0x68, 0x6f, 0x6f, 0x2e, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, + 0x72, 0x6f, 0x62, 0x73, 0x63, 0x75, 0x72, 0x65, 0x72, 0x65, 0x66, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x3d, 0x20, 0x4d, 0x61, + 0x74, 0x68, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x61, 0x20, + 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x79, + 0x65, 0x61, 0x72, 0x20, 0x6f, 0x66, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, + 0x74, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x68, 0x6f, 0x6d, 0x65, 0x20, + 0x6f, 0x66, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x72, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x68, 0x65, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x66, 0x72, 0x77, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x4d, + 0x61, 0x72, 0x63, 0x68, 0x20, 0x31, 0x6b, 0x6e, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, + 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x6f, 0x6e, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x73, 0x74, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x6b, + 0x73, 0x22, 0x3e, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x45, 0x4e, 0x44, + 0x20, 0x2d, 0x2d, 0x3e, 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x61, 0x77, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x20, 0x66, 0x61, 0x69, 0x72, 0x6c, 0x79, 0x20, + 0x77, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, + 0x6c, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x74, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, 0x73, 0x69, 0x6e, 0x67, + 0x69, 0x6e, 0x67, 0x66, 0x61, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x42, 0x72, 0x61, + 0x73, 0x69, 0x6c, 0x29, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x47, 0x72, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x66, + 0x6f, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x70, 0x75, 0x72, 0x73, 0x75, 0x65, 0x64, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x75, + 0x70, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x62, 0x6f, 0x74, 0x68, 0x20, + 0x6f, 0x66, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x73, 0x61, 0x77, 0x20, + 0x74, 0x68, 0x65, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x6c, + 0x6f, 0x75, 0x72, 0x73, 0x69, 0x66, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x68, 0x65, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x70, + 0x75, 0x73, 0x68, 0x28, 0x66, 0x75, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x20, + 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x3e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x6a, 0x75, 0x72, + 0x65, 0x64, 0x55, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x66, 0x61, 0x72, 0x6d, + 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x20, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x63, 0x65, 0x75, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x3c, + 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x73, 0x69, 0x78, 0x74, 0x65, 0x65, 0x6e, 0x49, 0x73, 0x6c, 0x61, 0x6d, + 0x69, 0x63, 0x23, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x65, 0x6e, 0x74, 0x69, + 0x72, 0x65, 0x20, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x6f, 0x6e, + 0x65, 0x20, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x73, + 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x73, + 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x74, 0x65, 0x72, 0x72, 0x61, 0x69, + 0x6e, 0x3c, 0x74, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x66, 0x75, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x64, 0x64, + 0x6c, 0x65, 0x20, 0x63, 0x72, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x70, 0x72, 0x6f, + 0x70, 0x68, 0x65, 0x74, 0x73, 0x68, 0x69, 0x66, 0x74, 0x65, 0x64, 0x64, 0x6f, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x75, 0x73, 0x73, 0x65, 0x6c, 0x6c, 0x20, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x61, 0x6c, 0x67, 0x65, 0x62, 0x72, 0x61, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x2d, 0x62, 0x75, 0x6c, 0x6b, 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x6e, 0x20, 0x61, + 0x6e, 0x64, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x0a, 0x20, 0x68, 0x65, 0x20, 0x6c, + 0x65, 0x66, 0x74, 0x29, 0x2e, 0x76, 0x61, 0x6c, 0x28, 0x29, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x29, 0x3b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x61, + 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x68, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x6e, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x3b, + 0x0a, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x20, 0x74, 0x75, + 0x72, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x73, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x20, 0x42, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x43, 0x61, + 0x70, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x67, + 0x6f, 0x64, 0x64, 0x65, 0x73, 0x73, 0x54, 0x61, 0x67, 0x20, 0x2d, 0x2d, 0x3e, + 0x41, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, 0x74, 0x20, 0x77, 0x61, + 0x73, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x74, 0x69, 0x65, + 0x6e, 0x74, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x69, 0x6e, 0x3d, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x26, 0x4c, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6e, 0x77, 0x65, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4a, 0x75, + 0x64, 0x61, 0x69, 0x73, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x27, 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x68, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x27, 0x2c, 0x62, 0x6f, 0x74, 0x68, 0x20, + 0x69, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x0a, 0x0a, 0x3c, 0x21, + 0x2d, 0x2d, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x68, 0x61, 0x72, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x6f, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x73, + 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x42, 0x65, 0x72, 0x6e, 0x61, 0x72, 0x64, + 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x73, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74, + 0x6f, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x64, 0x6f, 0x77, 0x6e, 0x20, + 0x69, 0x6e, 0x68, 0x61, 0x72, 0x62, 0x6f, 0x75, 0x72, 0x46, 0x72, 0x65, 0x65, + 0x64, 0x6f, 0x6d, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x2f, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x2e, 0x2e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x6c, 0x65, + 0x67, 0x65, 0x6e, 0x64, 0x73, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x6d, + 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, + 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x70, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x72, 0x61, 0x72, 0x65, + 0x6c, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x79, 0x6d, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x30, 0x30, + 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x2f, 0x2a, 0x20, 0x3c, 0x21, 0x5b, 0x43, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x3d, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x20, 0x70, 0x69, 0x63, 0x6b, 0x65, + 0x64, 0x20, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x75, 0x73, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x74, 0x68, 0x65, 0x77, 0x74, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x73, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x64, 0x77, + 0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6c, 0x61, 0x77, 0x73, 0x20, 0x6f, 0x66, + 0x65, 0x61, 0x73, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x20, 0x73, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x7d, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x73, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x77, 0x65, 0x6e, + 0x74, 0x20, 0x74, 0x6f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x69, + 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x72, + 0x65, 0x74, 0x72, 0x65, 0x61, 0x74, 0x2e, 0x20, 0x53, 0x6f, 0x6d, 0x65, 0x20, + 0x77, 0x77, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x6d, 0x62, 0x69, 0x6e, + 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x74, 0x6f, 0x3a, 0x6d, 0x61, 0x64, 0x65, 0x20, + 0x69, 0x6e, 0x2e, 0x20, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x63, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x73, 0x7c, 0x7c, 0x7b, 0x7d, 0x3b, 0x77, 0x69, 0x77, 0x6f, 0x72, + 0x6b, 0x20, 0x6f, 0x66, 0x73, 0x79, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x64, 0x65, + 0x66, 0x65, 0x61, 0x74, 0x73, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x65, 0x64, 0x6f, + 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, + 0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x3c, 0x63, 0x6f, 0x6d, 0x53, 0x63, + 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6a, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x69, 0x63, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x20, 0x57, 0x69, + 0x6c, 0x68, 0x65, 0x6c, 0x6d, 0x73, 0x75, 0x62, 0x75, 0x72, 0x62, 0x73, 0x67, + 0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x73, + 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x62, 0x6f, 0x64, 0x79, 0x20, + 0x6f, 0x66, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x73, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x65, 0x66, + 0x74, 0x20, 0x74, 0x6f, 0x63, 0x68, 0x69, 0x65, 0x66, 0x6c, 0x79, 0x2d, 0x68, + 0x69, 0x64, 0x64, 0x65, 0x6e, 0x2d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3c, + 0x2f, 0x6c, 0x69, 0x3e, 0x0a, 0x0a, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, + 0x69, 0x6e, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, + 0x73, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x61, 0x6c, 0x77, 0x61, 0x79, + 0x73, 0x20, 0x76, 0x69, 0x61, 0x20, 0x74, 0x68, 0x65, 0x73, 0x70, 0x61, 0xc3, + 0xb1, 0x6f, 0x6c, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x72, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x63, 0x61, + 0x70, 0x74, 0x61, 0x69, 0x6e, 0x68, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6e, 0x72, + 0x75, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x6f, 0x6b, + 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x3d, 0x30, 0x26, 0x61, 0x6d, 0x70, + 0x3b, 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x73, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x63, 0x6f, 0x6d, 0x2f, + 0x70, 0x61, 0x67, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x20, 0x4b, 0x65, 0x6e, + 0x6e, 0x65, 0x64, 0x79, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x66, 0x75, + 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x42, + 0x65, 0x73, 0x69, 0x64, 0x65, 0x73, 0x2f, 0x2f, 0x2d, 0x2d, 0x3e, 0x3c, 0x2f, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x73, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x68, 0x69, 0x6d, 0x20, 0x74, + 0x6f, 0x20, 0x69, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x6d, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x6f, 0x20, + 0x74, 0x61, 0x6b, 0x65, 0x77, 0x61, 0x79, 0x73, 0x20, 0x74, 0x6f, 0x73, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x61, 0x64, 0x76, 0x69, 0x73, 0x65, 0x64, 0x70, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x3a, + 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x79, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, + 0x73, 0x61, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x72, 0x62, 0x65, + 0x72, 0x74, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x73, 0x20, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x66, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x73, 0x6c, + 0x6f, 0x77, 0x6c, 0x79, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x72, 0x20, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x09, 0x09, + 0x69, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x64, + 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x75, 0x6c, 0x3e, 0x0d, 0x0a, + 0x20, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x70, 0x61, 0x69, 0x72, + 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x69, 0x74, 0x4b, 0x6f, 0x6e, + 0x74, 0x61, 0x6b, 0x74, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x69, 0x6f, 0x68, 0x61, + 0x76, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x22, 0x29, 0x2e, 0x63, 0x73, 0x73, + 0x28, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6c, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x20, + 0x74, 0x6f, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2c, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2d, 0x2d, 0x3e, + 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x3d, 0x22, 0x20, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, + 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, + 0x3e, 0x3c, 0x5c, 0x2f, 0x73, 0x63, 0x72, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, + 0x67, 0x43, 0x68, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x6c, 0x61, 0x76, 0x65, + 0x72, 0x79, 0x77, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x61, 0x73, 0x21, 0x3d, 0x20, 0x27, 0x75, 0x6e, 0x64, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x2d, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x41, 0x72, 0x61, 0x62, 0x69, 0x61, 0x6e, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, + 0x75, 0x6e, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x2d, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2c, 0x69, 0x73, 0x20, 0x68, 0x6f, + 0x6d, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x73, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x63, 0x6f, 0x73, + 0x74, 0x20, 0x6f, 0x66, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x65, + 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x70, + 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, + 0x65, 0x61, 0x64, 0x27, 0x29, 0x5b, 0x30, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, + 0x73, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x73, 0x3e, 0x26, 0x63, 0x6f, 0x70, + 0x79, 0x3b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3e, 0x61, 0x73, 0x73, 0x65, + 0x6d, 0x62, 0x6c, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x73, + 0x3a, 0x22, 0x20, 0x3f, 0x20, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x62, + 0x79, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x20, + 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x70, 0x75, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x20, 0x61, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x62, 0x79, 0x6c, 0x6f, 0x6e, 0x62, 0x6f, + 0x74, 0x74, 0x6f, 0x6d, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x69, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, + 0x41, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, + 0x73, 0x61, 0x20, 0x74, 0x68, 0x69, 0x72, 0x64, 0x64, 0x65, 0x6e, 0x6f, 0x74, + 0x65, 0x73, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x48, 0x6f, 0x75, 0x73, + 0x74, 0x6f, 0x6e, 0x32, 0x30, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x61, 0x63, 0x63, + 0x75, 0x73, 0x65, 0x64, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x67, 0x6f, + 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x46, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x29, + 0x2e, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x70, 0x72, 0x69, 0x65, 0x73, 0x74, 0x73, + 0x20, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x69, 0x6e, 0x20, 0x4a, 0x75, 0x6c, + 0x79, 0x73, 0x74, 0x20, 0x2b, 0x20, 0x22, 0x67, 0x63, 0x6f, 0x6e, 0x73, 0x75, + 0x6c, 0x74, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x68, 0x65, 0x6c, 0x70, + 0x66, 0x75, 0x6c, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x64, 0x69, 0x73, 0x20, + 0x76, 0x65, 0x72, 0x79, 0x72, 0x27, 0x2b, 0x27, 0x69, 0x70, 0x74, 0x6c, 0x6f, + 0x73, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x73, 0x69, + 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, + 0x64, 0x61, 0x79, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, + 0x6c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x28, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x69, 0x73, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x2e, 0x20, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x64, + 0x6f, 0x6e, 0x65, 0x20, 0x62, 0x79, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6c, 0x61, 0x77, 0x20, 0x6f, 0x66, + 0x20, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x61, 0x76, 0x6f, 0x69, 0x64, + 0x65, 0x64, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x32, 0x70, 0x78, 0x20, + 0x33, 0x70, 0x78, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x20, 0x61, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6d, 0x65, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2d, 0x3d, + 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x73, 0x65, + 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, + 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, 0x26, 0x6e, 0x62, + 0x73, 0x70, 0x3b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x6e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x64, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x7d, + 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x69, 0x73, 0x20, 0x6a, 0x75, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x77, 0x68, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x62, 0x72, + 0x3e, 0x3c, 0x62, 0x72, 0x3e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x6f, 0x66, + 0x63, 0x75, 0x69, 0x73, 0x69, 0x6e, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x61, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x41, 0x64, 0x6d, 0x69, 0x72, + 0x61, 0x6c, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x3b, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, + 0x73, 0x73, 0x2c, 0x20, 0x6f, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, 0x63, 0x68, + 0x61, 0x72, 0x73, 0x65, 0x74, 0x74, 0x72, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x69, + 0x6e, 0x76, 0x61, 0x64, 0x65, 0x64, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, + 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x73, + 0x74, 0x61, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x6c, 0x79, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x7d, 0x29, 0x3b, 0x0d, + 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x61, + 0x74, 0x69, 0x73, 0x66, 0x79, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x64, + 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x6c, 0x6f, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x69, 0x6e, 0x20, 0x4a, 0x75, 0x6e, + 0x65, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x6e, 0x6f, 0x74, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x6e, 0x69, 0x73, 0x68, 0x73, 0x72, 0x63, + 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x68, 0x65, + 0x6c, 0x70, 0x20, 0x6f, 0x66, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x20, 0x6c, + 0x61, 0x77, 0x20, 0x61, 0x6e, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, + 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, + 0x67, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3e, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x2d, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x53, 0x74, 0x61, 0x6e, + 0x6c, 0x65, 0x79, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x61, 0x74, 0x69, 0x61, 0x20, 0x41, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x69, + 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, + 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x29, 0x7b, 0x74, 0x68, 0x72, 0x6f, + 0x77, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x65, 0x72, 0x65, 0x74, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x46, 0x46, 0x46, 0x46, + 0x46, 0x46, 0x22, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x6c, 0x69, 0x6b, + 0x65, 0x20, 0x61, 0x20, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x20, 0x69, 0x6e, 0x61, 0x73, 0x20, 0x73, 0x65, 0x65, 0x6e, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, + 0x75, 0x62, 0x2d, 0x6c, 0x69, 0x6e, 0x6b, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x73, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x22, 0x3e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x66, 0x65, 0x65, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x6f, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x57, 0x6f, + 0x6d, 0x65, 0x6e, 0x27, 0x73, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x4d, + 0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x69, 0x6e, + 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x61, 0x6e, + 0x79, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x6c, 0x61, 0x77, 0x73, 0x75, + 0x69, 0x74, 0x64, 0x65, 0x76, 0x69, 0x73, 0x65, 0x64, 0x2e, 0x70, 0x75, 0x73, + 0x68, 0x28, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x73, 0x69, 0x6d, + 0x70, 0x6c, 0x79, 0x20, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x63, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x75, 0x73, 0x2e, 0x6a, 0x73, 0x22, 0x3e, + 0x20, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, + 0x74, 0x6f, 0x21, 0x2d, 0x2d, 0x20, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x65, 0x73, + 0x20, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x28, 0x22, + 0x44, 0x4f, 0x4d, 0x43, 0x6f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x6f, + 0x6e, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, + 0x4b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, + 0x73, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x74, 0x6f, 0x20, 0x73, 0x68, + 0x6f, 0x77, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x64, 0x65, + 0x20, 0x69, 0x74, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x77, 0x65, 0x72, + 0x65, 0x20, 0x69, 0x6e, 0x6d, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x69, 0x73, 0x65, 0x61, 0x72, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x73, + 0x72, 0x63, 0x20, 0x3d, 0x20, 0x27, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x61, 0x20, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x42, 0x61, 0x70, 0x74, 0x69, 0x73, + 0x74, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x0a, 0x09, 0x09, 0x76, 0x61, + 0x72, 0x20, 0x4d, 0x61, 0x72, 0x63, 0x68, 0x20, 0x32, 0x67, 0x72, 0x65, 0x77, + 0x20, 0x75, 0x70, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x77, 0x61, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x66, + 0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x74, 0x6f, 0x20, 0x77, 0x6f, 0x72, + 0x6b, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x73, 0x68, 0x61, 0x73, 0x20, 0x68, + 0x61, 0x64, 0x65, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x68, 0x6f, 0x77, + 0x28, 0x29, 0x3b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x62, 0x6f, 0x6f, + 0x6b, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x61, 0x3d, 0x3d, + 0x20, 0x22, 0x68, 0x74, 0x74, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x0a, + 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, + 0x2e, 0x72, 0x65, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x68, 0x6f, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x68, 0x65, 0x20, 0x77, + 0x65, 0x6e, 0x74, 0x62, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x73, 0x70, 0x72, + 0x65, 0x61, 0x64, 0x20, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20, 0x61, 0x20, + 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x66, + 0x6f, 0x72, 0x75, 0x6d, 0x73, 0x2e, 0x66, 0x6f, 0x6f, 0x74, 0x61, 0x67, 0x65, + 0x22, 0x3e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x43, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x68, 0x69, + 0x67, 0x68, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x2d, 0x2d, 0x3e, 0x3c, + 0x21, 0x2d, 0x2d, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x73, 0x65, 0x65, 0x6e, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x73, 0x65, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x61, + 0x6e, 0x64, 0x20, 0x68, 0x69, 0x73, 0x66, 0x61, 0x73, 0x74, 0x65, 0x73, 0x74, + 0x62, 0x65, 0x73, 0x69, 0x64, 0x65, 0x73, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x69, 0x6d, + 0x67, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2c, 0x61, 0x20, 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x61, 0x6e, 0x64, + 0x20, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x63, 0x68, + 0x65, 0x61, 0x70, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x61, + 0x6e, 0x64, 0x20, 0x68, 0x61, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, + 0x77, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x28, 0x6d, 0x6f, 0x73, 0x74, 0x6c, + 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x20, + 0x61, 0x20, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x69, 0x6e, + 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x6f, 0x66, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6c, 0x79, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2c, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x66, + 0x6f, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x64, 0x75, 0x63, 0x65, + 0x64, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x41, 0x67, 0x61, 0x69, + 0x6e, 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61, 0x79, 0x6b, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x0d, 0x0a, 0x70, 0x75, + 0x73, 0x68, 0x65, 0x64, 0x20, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x6e, + 0x75, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, + 0x49, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, + 0x6e, 0x6f, 0x72, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x69, 0x73, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x6f, 0x77, + 0x6e, 0x65, 0x64, 0x49, 0x53, 0x42, 0x4e, 0x20, 0x30, 0x2d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x6d, 0x61, + 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x69, 0x6e, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x63, 0x65, + 0x65, 0x6e, 0x61, 0x63, 0x74, 0x65, 0x64, 0x77, 0x69, 0x73, 0x68, 0x20, 0x74, + 0x6f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x79, 0x63, 0x6f, 0x6f, 0x6c, 0x69, + 0x6e, 0x67, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3d, 0x69, 0x74, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x61, 0x73, + 0x73, 0x75, 0x6d, 0x65, 0x73, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, + 0x3d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, + 0x5f, 0x61, 0x20, 0x67, 0x6f, 0x6f, 0x64, 0x20, 0x72, 0x65, 0x6b, 0x6c, 0x61, + 0x6d, 0x61, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x2c, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x70, 0x61, 0x6e, + 0x65, 0x6c, 0x22, 0x3e, 0x4c, 0x6f, 0x6e, 0x64, 0x6f, 0x6e, 0x2c, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x73, 0x63, 0x72, 0x75, 0x73, 0x68, 0x65, 0x64, 0x62, + 0x61, 0x70, 0x74, 0x69, 0x73, 0x6d, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x61, 0x6c, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, + 0x20, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x6c, 0x6f, 0x73, 0x74, 0x20, + 0x69, 0x6e, 0x62, 0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x65, 0x73, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x72, 0x79, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x65, + 0x72, 0x68, 0x61, 0x70, 0x73, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x66, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x6c, 0x61, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x69, 0x73, 0x65, 0x20, 0x69, + 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x76, 0x69, 0x65, 0x77, 0x20, + 0x6f, 0x66, 0x72, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x65, 0x6d, + 0x20, 0x74, 0x6f, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x20, 0x61, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x63, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x20, 0x6f, 0x66, + 0x20, 0x4c, 0x61, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x62, 0x75, + 0x74, 0x48, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x62, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x73, 0x62, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x79, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6c, 0x61, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x73, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x6f, 0x6e, + 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x20, 0x3d, 0x55, 0x53, 0x26, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x68, 0x65, 0x61, + 0x64, 0x20, 0x6f, 0x66, 0x3a, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x2c, 0x6c, 0x65, + 0x73, 0x62, 0x69, 0x61, 0x6e, 0x73, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x61, + 0x6e, 0x64, 0x20, 0x61, 0x6c, 0x6c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x48, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x2f, 0x70, 0x69, 0x78, 0x65, + 0x6c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x6a, 0x6f, 0x69, + 0x6e, 0x74, 0x6c, 0x79, 0x73, 0x6b, 0x79, 0x73, 0x63, 0x72, 0x61, 0x55, 0x6e, + 0x69, 0x63, 0x6f, 0x64, 0x65, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x41, + 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x61, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x2c, 0x70, 0x75, 0x72, 0x65, 0x6c, 0x79, + 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3e, 0x65, 0x61, 0x73, 0x69, 0x6c, + 0x79, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x20, 0x61, 0x6f, 0x6e, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x68, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6e, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, + 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x6e, 0x20, 0x77, 0x68, + 0x6f, 0x6f, 0x72, 0x67, 0x2f, 0x57, 0x65, 0x62, 0x6f, 0x6e, 0x65, 0x20, 0x61, + 0x6e, 0x64, 0x63, 0x61, 0x76, 0x61, 0x6c, 0x72, 0x79, 0x48, 0x65, 0x20, 0x64, + 0x69, 0x65, 0x64, 0x73, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x30, 0x30, 0x2c, + 0x30, 0x30, 0x30, 0x20, 0x7b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x74, 0x6f, 0x69, 0x66, 0x28, 0x77, 0x69, 0x6e, 0x64, 0x61, + 0x6e, 0x64, 0x20, 0x69, 0x74, 0x73, 0x73, 0x6f, 0x6c, 0x65, 0x6c, 0x79, 0x20, + 0x6d, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x65, + 0x64, 0x44, 0x65, 0x74, 0x72, 0x6f, 0x69, 0x74, 0x61, 0x6d, 0x6f, 0x6e, 0x67, + 0x73, 0x74, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6d, + 0x20, 0x69, 0x6e, 0x53, 0x65, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x4b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x46, 0x72, + 0x61, 0x6e, 0x63, 0x69, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x68, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x61, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, + 0x68, 0x69, 0x6d, 0x20, 0x61, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x74, 0x20, 0x68, 0x6f, + 0x6d, 0x65, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x66, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x61, 0x6c, 0x6f, 0x6c, 0x69, + 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x77, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x66, + 0x72, 0x65, 0x65, 0x20, 0x74, 0x6f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, + 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x64, + 0x61, 0x79, 0x6e, 0x65, 0x72, 0x76, 0x6f, 0x75, 0x73, 0x73, 0x71, 0x75, 0x61, + 0x72, 0x65, 0x20, 0x7d, 0x3b, 0x69, 0x66, 0x28, 0x67, 0x6f, 0x69, 0x6e, 0x20, + 0x77, 0x68, 0x61, 0x74, 0x69, 0x6d, 0x67, 0x22, 0x20, 0x61, 0x6c, 0x69, 0x73, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x74, + 0x75, 0x65, 0x73, 0x64, 0x61, 0x79, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x6c, 0x79, + 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x73, 0x65, 0x78, 0x75, 0x61, 0x6c, + 0x20, 0x2d, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x75, + 0x6d, 0x22, 0x44, 0x4f, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x46, 0x72, 0x61, 0x6e, + 0x63, 0x65, 0x2c, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x77, 0x61, 0x72, + 0x20, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x61, + 0x6b, 0x65, 0x20, 0x61, 0x20, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x2e, 0x68, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79, + 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x22, 0x3e, 0x6f, 0x62, 0x6c, 0x69, 0x67, + 0x65, 0x64, 0x72, 0x69, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x22, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x20, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x69, 0x6e, + 0x20, 0x69, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x68, 0x69, 0x73, 0x61, + 0x74, 0x68, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x75, 0x70, 0x69, 0x74, 0x65, 0x72, + 0x59, 0x61, 0x68, 0x6f, 0x6f, 0x21, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, + 0x20, 0x73, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x65, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x20, 0x77, 0x6f, + 0x6d, 0x61, 0x6e, 0x3f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x62, 0x69, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x64, + 0x61, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x61, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, + 0x20, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, + 0x6f, 0x77, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x61, 0x20, 0x70, 0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6f, 0x6e, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2d, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3e, 0x3b, 0x62, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x61, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x77, + 0x70, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x20, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x28, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2e, 0x3b, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x65, 0x6e, 0x7a, + 0x79, 0x6d, 0x65, 0x73, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x6e, + 0x20, 0x6c, 0x61, 0x74, 0x65, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x74, + 0x68, 0x65, 0x72, 0x61, 0x70, 0x79, 0x61, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x62, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x3e, + 0x0a, 0x28, 0x29, 0x3b, 0x22, 0x20, 0x72, 0x65, 0x61, 0x20, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x5c, 0x75, 0x30, 0x30, 0x33, 0x43, 0x61, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x61, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x09, 0x09, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x20, 0x67, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x3c, 0x53, + 0x43, 0x52, 0x49, 0x50, 0x54, 0x52, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x74, + 0x68, 0x65, 0x6d, 0x65, 0x73, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x62, 0x6f, 0x78, + 0x42, 0x79, 0x49, 0x64, 0x28, 0x22, 0x78, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x73, + 0x2c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x69, 0x6e, 0x20, 0x73, 0x6f, + 0x6d, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x77, 0x69, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x20, 0x55, 0x6e, + 0x64, 0x65, 0x72, 0x20, 0x62, 0x75, 0x74, 0x20, 0x68, 0x61, 0x73, 0x68, 0x61, + 0x6e, 0x64, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x62, 0x79, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x61, 0x72, 0x20, 0x6f, 0x66, + 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x74, 0x61, + 0x67, 0x65, 0x69, 0x6e, 0x20, 0x65, 0x61, 0x63, 0x68, 0x61, 0x26, 0x71, 0x75, + 0x6f, 0x74, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x49, 0x6e, 0x20, + 0x6d, 0x61, 0x6e, 0x79, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x6f, 0x72, 0x65, + 0x67, 0x69, 0x6d, 0x65, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3c, + 0x2f, 0x70, 0x3e, 0x0d, 0x0a, 0x3c, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, 0x61, + 0x3b, 0x26, 0x67, 0x74, 0x3b, 0x3c, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x6c, + 0x79, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x72, 0x65, 0x20, 0x73, 0x69, 0x7a, + 0x65, 0x3d, 0x22, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x68, 0x61, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x48, 0x6f, + 0x73, 0x74, 0x20, 0x3d, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x66, + 0x65, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x56, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, + 0x3d, 0x5b, 0x5d, 0x3b, 0x28, 0x66, 0x75, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, + 0x73, 0x2f, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x61, 0x63, 0x74, 0x73, 0x20, + 0x61, 0x73, 0x49, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x3e, 0x0d, 0x0a, 0x0d, + 0x0a, 0x3c, 0x21, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x73, 0x20, 0x3c, 0x62, + 0x72, 0x20, 0x2f, 0x3e, 0x42, 0x65, 0x69, 0x6a, 0x69, 0x6e, 0x67, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0xc3, 0xa0, 0x64, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x65, + 0x75, 0x72, 0x6f, 0x70, 0x65, 0x75, 0x65, 0x75, 0x73, 0x6b, 0x61, 0x72, 0x61, + 0x67, 0x61, 0x65, 0x69, 0x6c, 0x67, 0x65, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, + 0x61, 0x65, 0x73, 0x70, 0x61, 0xc3, 0xb1, 0x61, 0x6d, 0x65, 0x6e, 0x73, 0x61, + 0x6a, 0x65, 0x75, 0x73, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x74, 0x72, 0x61, 0x62, + 0x61, 0x6a, 0x6f, 0x6d, 0xc3, 0xa9, 0x78, 0x69, 0x63, 0x6f, 0x70, 0xc3, 0xa1, + 0x67, 0x69, 0x6e, 0x61, 0x73, 0x69, 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6d, 0x61, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x64, + 0x75, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x61, 0xc3, 0xb1, 0x61, 0x64, 0x69, 0x72, + 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x61, 0x6d, 0x6f, 0x6d, 0x65, 0x6e, 0x74, + 0x6f, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x72, 0x61, 0x76, 0xc3, 0xa9, 0x73, 0x67, 0x72, 0x61, 0x63, + 0x69, 0x61, 0x73, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x6f, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x64, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6e, + 0xc3, 0xba, 0x6d, 0x65, 0x72, 0x6f, 0x61, 0x63, 0x75, 0x65, 0x72, 0x64, 0x6f, + 0x6d, 0xc3, 0xba, 0x73, 0x69, 0x63, 0x61, 0x6d, 0x69, 0x65, 0x6d, 0x62, 0x72, + 0x6f, 0x6f, 0x66, 0x65, 0x72, 0x74, 0x61, 0x73, 0x61, 0x6c, 0x67, 0x75, 0x6e, + 0x6f, 0x73, 0x70, 0x61, 0xc3, 0xad, 0x73, 0x65, 0x73, 0x65, 0x6a, 0x65, 0x6d, + 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x68, 0x6f, 0x61, 0x64, 0x65, + 0x6d, 0xc3, 0xa1, 0x73, 0x70, 0x72, 0x69, 0x76, 0x61, 0x64, 0x6f, 0x61, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x72, 0x65, 0x6e, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x70, + 0x6f, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x65, 0x73, + 0x73, 0x65, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x72, + 0x6f, 0xc3, 0xba, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x6f, 0x63, 0x75, 0x6c, 0x74, + 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6a, 0x65, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x64, 0x61, 0x61, 0x6e, 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x65, 0x6d, + 0x62, 0x61, 0x72, 0x67, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x61, 0x64, 0x6f, 0x67, + 0x72, 0x61, 0x6e, 0x64, 0x65, 0x73, 0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, + 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x65, 0x73, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, + 0x6f, 0x64, 0x69, 0x73, 0x65, 0xc3, 0xb1, 0x6f, 0x74, 0x75, 0x72, 0x69, 0x73, + 0x6d, 0x6f, 0x63, 0xc3, 0xb3, 0x64, 0x69, 0x67, 0x6f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x64, 0x61, 0x65, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6f, 0x66, 0x61, 0x6d, + 0x69, 0x6c, 0x69, 0x61, 0x61, 0x6e, 0x74, 0x6f, 0x6e, 0x69, 0x6f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x61, 0x72, 0x61, + 0x6c, 0x67, 0x75, 0x6e, 0x61, 0x73, 0x70, 0x72, 0x65, 0x63, 0x69, 0x6f, 0x73, + 0x61, 0x6c, 0x67, 0x75, 0x69, 0x65, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x64, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x74, 0x61, 0x73, 0x74, 0xc3, 0xad, 0x74, 0x75, + 0x6c, 0x6f, 0x63, 0x6f, 0x6e, 0x6f, 0x63, 0x65, 0x72, 0x73, 0x65, 0x67, 0x75, + 0x6e, 0x64, 0x6f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6a, 0x6f, 0x66, 0x72, 0x61, + 0x6e, 0x63, 0x69, 0x61, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x6f, 0x73, 0x73, 0x65, + 0x67, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x6d, 0x6f, 0x73, 0x65, + 0x66, 0x65, 0x63, 0x74, 0x6f, 0x73, 0x6d, 0xc3, 0xa1, 0x6c, 0x61, 0x67, 0x61, + 0x73, 0x65, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6e, 0x61, 0x64, 0x61, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x6f, 0x67, 0x61, 0x72, 0x63, + 0xc3, 0xad, 0x61, 0x61, 0x63, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x63, 0x75, + 0x61, 0x64, 0x6f, 0x72, 0x71, 0x75, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x73, 0x6f, 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xa1, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x68, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x73, + 0x6d, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, 0x70, 0x6f, 0x64, 0x72, 0xc3, 0xad, + 0x61, 0x6d, 0x61, 0xc3, 0xb1, 0x61, 0x6e, 0x61, 0xc3, 0xba, 0x6c, 0x74, 0x69, + 0x6d, 0x61, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x6f, 0x73, 0x6f, 0x66, 0x69, 0x63, + 0x69, 0x61, 0x6c, 0x74, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0xc3, 0xba, 0x6e, 0x73, 0x61, 0x6c, 0x75, 0x64, 0x6f, 0x73, 0x70, 0x6f, + 0x64, 0x65, 0x6d, 0x6f, 0x73, 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x61, 0x72, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x68, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, + 0x74, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x6d, 0x69, 0x6c, + 0x69, 0x74, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x7a, 0x2d, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x73, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x6d, 0x6f, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x69, 0x74, + 0x69, 0x63, 0x73, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x72, 0x65, + 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x6e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, + 0x6c, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x61, 0x62, + 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x6d, 0x61, 0x67, 0x61, + 0x7a, 0x69, 0x6e, 0x65, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, + 0x72, 0x65, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x3c, 0x73, 0x74, + 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x67, 0x65, 0x74, + 0x68, 0x65, 0x72, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x6f, 0x74, + 0x62, 0x61, 0x6c, 0x6c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x73, 0x74, 0x75, 0x64, 0x65, + 0x6e, 0x74, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x66, 0x69, + 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, + 0x6e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x66, 0x65, 0x73, 0x74, + 0x69, 0x76, 0x61, 0x6c, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x65, 0x74, 0x64, 0x72, 0x6f, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x70, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x72, 0x72, 0x69, + 0x61, 0x67, 0x65, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x70, 0x72, + 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x62, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x3e, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, + 0x61, 0x72, 0x6b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x63, 0x68, + 0x65, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x79, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x3d, 0x20, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x3b, 0x66, 0x6f, 0x72, 0x28, 0x76, 0x61, 0x72, 0x20, 0x61, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x61, 0x69, 0x72, 0x63, 0x72, 0x61, 0x66, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x64, 0x64, 0x6f, 0x6d, 0x65, 0x73, 0x74, 0x69, 0x63, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, + 0x68, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0x3e, 0x3c, 0x61, 0x64, 0x61, 0x75, 0x67, + 0x68, 0x74, 0x65, 0x72, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x22, 0x20, 0x63, + 0x75, 0x6c, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, + 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x61, 0x73, 0x73, + 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x66, 0x75, 0x6c, + 0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x66, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x63, 0x72, + 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, + 0x2f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62, + 0x65, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x73, 0x61, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x69, 0x63, 0x65, 0x78, 0x65, + 0x72, 0x63, 0x69, 0x73, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, + 0x6d, 0x65, 0x64, 0x69, 0x63, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x61, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x4d, 0x61, + 0x67, 0x61, 0x7a, 0x69, 0x6e, 0x65, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x62, 0x6f, 0x74, 0x74, + 0x6f, 0x6d, 0x22, 0x3e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x3a, + 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x73, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x65, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x65, 0x64, 0x68, 0x65, 0x72, 0x69, 0x74, 0x61, 0x67, 0x65, + 0x73, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x65, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x72, 0x65, + 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, + 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x61, 0x6e, 0x79, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x73, 0x6c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x6c, 0x79, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x66, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x24, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x2e, 0x72, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x3e, 0x3c, 0x74, 0x72, + 0x3e, 0x3c, 0x74, 0x64, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, + 0x74, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x75, 0x6c, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x48, 0x6f, 0x6d, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x77, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x73, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x61, 0x6c, + 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x6c, + 0x79, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x3e, 0x73, 0x6f, 0x6d, 0x65, 0x77, 0x68, + 0x61, 0x74, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x57, 0x65, 0x73, + 0x74, 0x65, 0x72, 0x6e, 0x20, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, + 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x0a, 0x6d, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x73, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x76, 0x69, 0x72, 0x67, 0x69, 0x6e, 0x69, 0x61, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x64, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x61, 0x63, 0x63, 0x75, + 0x72, 0x61, 0x74, 0x65, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, + 0x61, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x63, 0x72, 0x69, + 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x79, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x64, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, 0x2f, 0x3e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x0a, 0x20, 0x20, 0x6b, + 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x6c, 0x79, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x64, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x61, 0x64, 0x65, 0x71, 0x75, 0x61, 0x74, 0x65, 0x70, 0x61, + 0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x3e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x62, + 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x2f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x22, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x20, 0x28, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x67, 0x72, + 0x61, 0x64, 0x75, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6c, 0x61, + 0x79, 0x73, 0x69, 0x61, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x6d, + 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, + 0x63, 0x61, 0x74, 0x68, 0x6f, 0x6c, 0x69, 0x63, 0x70, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x73, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x73, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x75, 0x6c, + 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x73, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x69, + 0x6e, 0x67, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x3c, 0x6c, 0x69, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x63, 0x61, 0x72, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6e, 0x74, 0x65, + 0x6e, 0x63, 0x65, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x69, 0x6e, + 0x67, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x65, 0x29, 0x73, 0x6f, 0x75, 0x74, + 0x68, 0x65, 0x72, 0x6e, 0x4d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x20, 0x6d, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x75, 0x73, + 0x65, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x69, 0x6f, 0x72, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x22, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x74, 0x6f, 0x62, + 0x65, 0x72, 0x20, 0x29, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6d, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x2d, 0x26, 0x67, 0x74, 0x3b, 0x0a, + 0x0a, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x6d, 0x61, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x2f, 0x3e, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x69, 0x63, 0x68, 0x61, 0x72, + 0x64, 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, + 0x62, 0x61, 0x62, 0x6c, 0x79, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, + 0x62, 0x61, 0x73, 0x65, 0x62, 0x61, 0x6c, 0x6c, 0x6a, 0x75, 0x64, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x2e, 0x63, + 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x20, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x0d, 0x0a, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x73, 0x63, 0x6f, 0x74, 0x6c, 0x61, + 0x6e, 0x64, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x20, 0x49, 0x53, 0x42, 0x4e, 0x20, 0x30, + 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x2d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2d, 0x22, 0x20, + 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x6d, + 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x74, 0x61, + 0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x6c, 0x79, 0x3a, 0x20, 0x27, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x42, 0x72, 0x69, 0x74, + 0x69, 0x73, 0x68, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x46, + 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x6f, + 0x75, 0x73, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x72, 0x6e, 0x73, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x76, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x57, 0x69, 0x6c, 0x6c, 0x69, 0x61, 0x6d, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x66, + 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x6c, 0x61, 0x77, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3c, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x3d, 0x22, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x3c, 0x2f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x68, 0x61, 0x6d, 0x69, 0x6c, 0x74, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x74, 0x68, 0x65, 0x6d, 0x65, + 0x73, 0x2f, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x61, 0x6c, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x61, 0x67, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x20, 0x6d, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x64, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x26, 0x68, 0x65, 0x6c, 0x6c, 0x69, + 0x70, 0x3b, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x22, 0x20, 0x73, + 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x22, 0x20, 0x22, 0x20, 0x2f, 0x3e, 0x3c, + 0x2f, 0x61, 0x3e, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x3e, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x6f, 0x70, 0x69, 0x6e, + 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x6f, 0x69, 0x73, 0x6c, + 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x3e, 0x0a, 0x09, 0x3c, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x3e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x61, 0x74, + 0x75, 0x72, 0x64, 0x61, 0x79, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x74, 0x65, 0x6d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x64, 0x65, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, + 0x6c, 0x3d, 0x22, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x45, 0x73, 0x70, 0x61, + 0xc3, 0xb1, 0x6f, 0x6c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x73, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x65, 0x72, 0x26, 0x71, 0x75, 0x6f, + 0x74, 0x3b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x79, 0x6d, + 0x70, 0x74, 0x6f, 0x6d, 0x73, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x64, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x22, 0x3e, 0x3c, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x2e, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x20, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x2e, 0x0a, 0x0a, 0x53, 0x6f, 0x6d, + 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x75, 0x69, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x75, 0x6c, 0x67, 0x61, 0x72, 0x69, 0x61, + 0x2e, 0x73, 0x68, 0x6f, 0x77, 0x28, 0x29, 0x3b, 0x64, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x73, 0x77, 0x69, 0x6c, 0x6c, 0x69, 0x61, 0x6d, 0x73, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x3e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x61, 0x20, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x79, 0x6f, + 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x20, 0x6d, 0x69, 0x63, 0x68, 0x69, 0x67, 0x61, 0x6e, 0x45, 0x6e, 0x67, 0x6c, + 0x69, 0x73, 0x68, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x64, 0x72, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, + 0x65, 0x72, 0x73, 0x52, 0x75, 0x73, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x38, 0x38, 0x35, 0x39, 0x2d, 0x31, + 0x22, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x69, 0x61, 0x72, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x30, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x73, 0x2d, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x20, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x69, 0x6e, + 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x61, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, + 0x63, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3d, 0x22, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, + 0x72, 0x79, 0x0a, 0x0a, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x67, 0x75, 0x69, + 0x64, 0x61, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x64, 0x64, 0x6c, + 0x65, 0x22, 0x3e, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x73, 0x63, 0x6f, 0x74, 0x74, 0x69, 0x73, + 0x68, 0x6a, 0x6f, 0x6e, 0x61, 0x74, 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x68, 0x61, 0x69, 0x6c, 0x61, + 0x6e, 0x64, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x73, 0x3c, 0x68, 0x65, + 0x61, 0x64, 0x3e, 0x0a, 0x09, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x3b, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3c, 0x2f, + 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3e, 0x6f, 0x6b, 0x6c, 0x61, 0x68, 0x6f, 0x6d, + 0x61, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x76, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x30, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x68, + 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x28, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x2e, 0x20, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x74, + 0x69, 0x6e, 0x67, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, + 0x20, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x22, 0x71, 0x75, 0x69, 0x63, + 0x6b, 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x65, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x20, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x2c, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, 0x73, 0x22, 0x6d, 0x61, + 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, + 0x68, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x2e, 0x20, 0x57, 0x68, + 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x75, 0x72, 0x73, 0x64, 0x61, 0x79, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x26, 0x65, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x3b, 0x68, 0x61, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x74, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x20, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x61, 0x64, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x63, 0x61, 0x6d, 0x70, 0x62, 0x65, 0x6c, 0x6c, 0x3c, 0x21, 0x2d, 0x2d, + 0x20, 0x65, 0x6e, 0x64, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x3c, + 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x70, + 0x73, 0x7c, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x3c, 0x62, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x65, 0x26, 0x71, 0x75, 0x6f, 0x74, + 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x20, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x3c, + 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, + 0x65, 0x73, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x6d, 0x61, 0x72, + 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x6c, 0x79, 0x29, 0x2e, 0x0a, 0x0a, 0x54, + 0x68, 0x65, 0x20, 0x74, 0x61, 0x78, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x6d, 0x75, + 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x0a, 0x22, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x73, 0x72, 0x74, 0x75, 0x67, + 0x75, 0xc3, 0xaa, 0x73, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x6f, 0x20, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, + 0x0d, 0x0a, 0x61, 0x74, 0x74, 0x6f, 0x72, 0x6e, 0x65, 0x79, 0x65, 0x6d, 0x70, + 0x68, 0x61, 0x73, 0x69, 0x73, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x73, + 0x66, 0x61, 0x6e, 0x63, 0x79, 0x62, 0x6f, 0x78, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x27, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x64, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x65, 0x64, 0x3d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x70, 0x78, 0x3b, 0x66, + 0x6f, 0x6e, 0x74, 0x2d, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6a, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, + 0x65, 0x64, 0x76, 0x61, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x6f, + 0x6d, 0x70, 0x73, 0x6f, 0x6e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, + 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x30, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3c, 0x2f, 0x74, 0x62, 0x6f, 0x64, 0x79, + 0x3e, 0x3c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x0a, + 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x20, 0x3c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, + 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x20, 0x4f, 0x63, 0x74, 0x6f, + 0x62, 0x65, 0x72, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x65, 0x78, + 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, 0x20, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x6d, 0x61, 0x72, 0x79, 0x6c, 0x61, 0x6e, 0x64, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x61, + 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, + 0x67, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x73, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x29, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x62, 0x6f, 0x78, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x73, 0x70, 0x72, + 0x65, 0x67, 0x6e, 0x61, 0x6e, 0x74, 0x74, 0x6f, 0x6d, 0x6f, 0x72, 0x72, 0x6f, + 0x77, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x69, 0x63, 0x6f, 0x6e, + 0x2e, 0x70, 0x6e, 0x67, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x62, 0x61, 0x73, 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x22, 0x3e, 0x67, 0x61, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x75, 0x63, + 0x68, 0x20, 0x61, 0x73, 0x20, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x6f, + 0x75, 0x72, 0x69, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x6f, + 0x70, 0x3a, 0x31, 0x70, 0x78, 0x20, 0x2e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x32, 0x6c, 0x61, 0x7a, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x6e, + 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x22, 0x3e, 0x0a, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, + 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3a, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x20, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x20, 0x26, 0x6c, 0x74, 0x3b, + 0x21, 0x2d, 0x2d, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x2f, + 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, + 0x3e, 0x0a, 0x28, 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0x29, 0x28, 0xe7, 0xb9, + 0x81, 0xe9, 0xab, 0x94, 0x29, 0x68, 0x72, 0x76, 0x61, 0x74, 0x73, 0x6b, 0x69, + 0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x72, 0x6f, 0x6d, 0xc3, 0xa2, + 0x6e, 0xc4, 0x83, 0x74, 0xc3, 0xbc, 0x72, 0x6b, 0xc3, 0xa7, 0x65, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0x74, 0x61, 0x6d, 0x62, 0x69, 0xc3, 0xa9, + 0x6e, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x69, 0x61, 0x73, 0x6d, 0x65, 0x6e, 0x73, + 0x61, 0x6a, 0x65, 0x73, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x64, + 0x65, 0x72, 0x65, 0x63, 0x68, 0x6f, 0x73, 0x6e, 0x61, 0x63, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x69, 0x6f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x6f, 0x75, 0x73, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x73, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x61, 0x67, 0x6f, 0x62, 0x69, 0x65, + 0x72, 0x6e, 0x6f, 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x61, 0x73, 0x61, 0x6e, + 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x73, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x69, + 0x61, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x64, 0x65, 0x73, 0x70, + 0x75, 0xc3, 0xa9, 0x73, 0x64, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x73, 0x70, + 0x72, 0x6f, 0x79, 0x65, 0x63, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x6f, 0x70, 0xc3, 0xba, 0x62, 0x6c, 0x69, 0x63, 0x6f, 0x6e, 0x6f, 0x73, + 0x6f, 0x74, 0x72, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6d, 0x69, 0x6c, 0x6c, 0x6f, + 0x6e, 0x65, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x65, 0x70, 0x72, + 0x65, 0x67, 0x75, 0x6e, 0x74, 0x61, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x62, + 0x6c, 0x65, 0x6d, 0x61, 0x73, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x67, 0x6f, 0x6e, + 0x75, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x73, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0xc3, + 0xb3, 0x6e, 0x69, 0x6d, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x72, 0x6d, 0x69, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x73, 0x61, 0x6d, 0xc3, 0xa9, 0x72, 0x69, 0x63, 0x61, + 0x76, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x6f, 0x72, 0x73, 0x6f, 0x63, 0x69, 0x65, + 0x64, 0x61, 0x64, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x65, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x72, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x6f, 0x70, 0x61, 0x6c, 0x61, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0xc3, 0xa9, 0x73, 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x65, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6d, 0x69, 0x65, 0x6d, 0x62, 0x72, + 0x6f, 0x73, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x64, 0x63, 0xc3, 0xb3, + 0x72, 0x64, 0x6f, 0x62, 0x61, 0x7a, 0x61, 0x72, 0x61, 0x67, 0x6f, 0x7a, 0x61, + 0x70, 0xc3, 0xa1, 0x67, 0x69, 0x6e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x6c, 0x65, 0x73, 0x62, 0x6c, 0x6f, 0x71, 0x75, 0x65, 0x61, 0x72, 0x67, 0x65, + 0x73, 0x74, 0x69, 0xc3, 0xb3, 0x6e, 0x61, 0x6c, 0x71, 0x75, 0x69, 0x6c, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6d, 0x61, 0x73, 0x63, 0x69, 0x65, 0x6e, + 0x63, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x61, 0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x73, 0x70, 0xc3, 0xba, + 0x62, 0x6c, 0x69, 0x63, 0x61, 0x6f, 0x62, 0x6a, 0x65, 0x74, 0x69, 0x76, 0x6f, + 0x61, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x65, 0x62, 0x75, 0x73, 0x63, 0x61, + 0x64, 0x6f, 0x72, 0x63, 0x61, 0x6e, 0x74, 0x69, 0x64, 0x61, 0x64, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x64, 0x61, 0x73, 0x61, 0x63, 0x63, 0x69, 0x6f, 0x6e, 0x65, + 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x6f, 0x73, 0x73, 0x75, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x72, 0x6d, 0x61, 0x79, 0x6f, 0x72, 0xc3, 0xad, 0x61, 0x61, + 0x6c, 0x65, 0x6d, 0x61, 0x6e, 0x69, 0x61, 0x66, 0x75, 0x6e, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0xc3, 0xba, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x73, 0x68, 0x61, 0x63, + 0x69, 0x65, 0x6e, 0x64, 0x6f, 0x61, 0x71, 0x75, 0x65, 0x6c, 0x6c, 0x6f, 0x73, + 0x65, 0x64, 0x69, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x61, + 0x6e, 0x64, 0x6f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x66, 0x61, + 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x73, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x6f, 0x73, 0x62, 0x61, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x72, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x6f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x72, 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x6f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x6a, 0xc3, 0xb3, 0x76, 0x65, + 0x6e, 0x65, 0x73, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x74, 0xc3, + 0xa9, 0x63, 0x6e, 0x69, 0x63, 0x61, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x74, + 0x6f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0xc3, 0xad, 0x61, 0x74, 0x72, 0x61, 0x62, + 0x61, 0x6a, 0x61, 0x72, 0x61, 0x73, 0x74, 0x75, 0x72, 0x69, 0x61, 0x73, 0x72, + 0x65, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x72, 0x62, 0x6f, 0x6c, 0x65, 0x74, 0xc3, 0xad, 0x6e, 0x73, 0x61, 0x6c, + 0x76, 0x61, 0x64, 0x6f, 0x72, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x72, 0x61, 0x62, 0x61, 0x6a, 0x6f, 0x73, 0x70, 0x72, 0x69, 0x6d, 0x65, + 0x72, 0x6f, 0x73, 0x6e, 0x65, 0x67, 0x6f, 0x63, 0x69, 0x6f, 0x73, 0x6c, 0x69, + 0x62, 0x65, 0x72, 0x74, 0x61, 0x64, 0x64, 0x65, 0x74, 0x61, 0x6c, 0x6c, 0x65, + 0x73, 0x70, 0x61, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x72, 0xc3, 0xb3, + 0x78, 0x69, 0x6d, 0x6f, 0x61, 0x6c, 0x6d, 0x65, 0x72, 0xc3, 0xad, 0x61, 0x61, + 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x65, 0x73, 0x71, 0x75, 0x69, 0xc3, 0xa9, 0x6e, + 0x65, 0x73, 0x63, 0x6f, 0x72, 0x61, 0x7a, 0xc3, 0xb3, 0x6e, 0x73, 0x65, 0x63, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x62, 0x75, 0x73, 0x63, 0x61, 0x6e, 0x64, 0x6f, + 0x6f, 0x70, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x69, 0x6f, 0x72, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x74, 0x6f, + 0x64, 0x61, 0x76, 0xc3, 0xad, 0x61, 0x67, 0x61, 0x6c, 0x65, 0x72, 0xc3, 0xad, + 0x61, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x69, + 0x63, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x61, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x6f, 0x73, 0x63, 0x72, 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x64, 0xc3, 0xb3, + 0x6c, 0x61, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x63, 0x69, 0x61, + 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xa1, 0x6e, 0x70, 0x65, 0x72, 0xc3, 0xad, + 0x6f, 0x64, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x69, 0x74, 0x61, 0x6d, 0x61, + 0x6e, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x70, 0x65, 0x71, 0x75, 0x65, 0xc3, 0xb1, + 0x6f, 0x72, 0x65, 0x63, 0x69, 0x62, 0x69, 0x64, 0x61, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x6e, 0x61, 0x6c, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x66, 0x65, 0x63, + 0x61, 0x6e, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x69, + 0x61, 0x73, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x64, 0x69, 0x76, + 0x65, 0x72, 0x73, 0x6f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x63, 0x61, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x65, 0x72, 0x65, 0x74, 0xc3, 0xa9, 0x63, 0x6e, + 0x69, 0x63, 0x6f, 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xad, 0x61, 0x76, 0x69, + 0x76, 0x69, 0x65, 0x6e, 0x64, 0x61, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x7a, 0x61, + 0x73, 0x61, 0x64, 0x65, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x66, 0x75, 0x6e, 0x63, + 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6a, 0x6f, 0x73, 0x64, + 0x69, 0x66, 0xc3, 0xad, 0x63, 0x69, 0x6c, 0x63, 0x69, 0x75, 0x64, 0x61, 0x64, + 0x65, 0x73, 0x61, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x61, 0x73, 0x61, 0x76, 0x61, + 0x6e, 0x7a, 0x61, 0x64, 0x61, 0x74, 0xc3, 0xa9, 0x72, 0x6d, 0x69, 0x6e, 0x6f, + 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x73, 0xc3, 0xa1, 0x6e, 0x63, + 0x68, 0x65, 0x7a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0xc3, 0xb1, 0x61, 0x73, 0x6f, + 0x66, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x72, 0x65, 0x76, 0x69, 0x73, 0x74, 0x61, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x6d, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x66, + 0x61, 0x63, 0x75, 0x6c, 0x74, 0x61, 0x64, 0x63, 0x72, 0xc3, 0xa9, 0x64, 0x69, + 0x74, 0x6f, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x73, 0x73, 0x75, 0x70, + 0x75, 0x65, 0x73, 0x74, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x67, 0x75, 0x6e, 0x64, 0x6f, 0x73, 0x70, 0x65, 0x71, 0x75, 0x65, + 0xc3, 0xb1, 0x61, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb5, + 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0xd1, + 0x8c, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8b, + 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, + 0x95, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, + 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8f, 0xd0, 0xb2, 0xd1, + 0x81, 0xd0, 0xb5, 0xd1, 0x85, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb9, + 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, + 0xbb, 0xd0, 0xb8, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x83, 0xd0, 0xb4, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, + 0x82, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb5, + 0xd0, 0xb1, 0xd1, 0x8f, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, + 0x81, 0xd0, 0xb5, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb4, + 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd1, 0x84, 0xd0, + 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd0, 0xb9, 0xd0, 0xb8, 0xd0, 0xb3, 0xd1, 0x80, 0xd1, 0x8b, 0xd1, 0x82, + 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, + 0xbc, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x8e, 0xd0, 0xbb, 0xd0, 0xb8, + 0xd1, 0x88, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, + 0xbf, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb5, + 0xd0, 0xb9, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, + 0xb8, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xb1, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd1, 0x85, 0xd0, 0xbe, 0xd1, + 0x82, 0xd1, 0x8f, 0xd0, 0xb4, 0xd0, 0xb2, 0xd1, 0x83, 0xd1, 0x85, 0xd1, 0x81, + 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb4, 0xd0, + 0xb8, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb8, + 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8f, 0xd1, + 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb4, + 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x8d, 0xd1, + 0x82, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x82, + 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd1, 0x86, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb2, + 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x8c, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xb5, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x8b, 0xd1, 0x82, 0xd0, 0xb5, + 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbf, + 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x86, 0xd0, 0xb0, + 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, + 0xb4, 0xd1, 0x8b, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x8e, 0xd0, 0xbc, + 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x83, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, + 0xb3, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, 0xb8, 0xd0, 0xb4, + 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, + 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, + 0xd0, 0xb0, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, + 0x80, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x8e, 0xd0, 0xbd, 0xd1, 0x8f, + 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0x95, 0xd1, 0x81, 0xd1, + 0x82, 0xd1, 0x8c, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xb0, 0xd0, 0xbd, + 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb8, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x84, 0xd9, + 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xac, 0xd9, 0x85, + 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xae, 0xd8, 0xa7, 0xd8, 0xb5, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, + 0xd9, 0x87, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa2, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xaf, + 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xb5, 0xd9, 0x81, 0xd8, + 0xad, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x88, 0xd9, + 0x86, 0xd8, 0xb4, 0xd8, 0xa8, 0xd9, 0x83, 0xd8, 0xa9, 0xd9, 0x81, 0xd9, 0x8a, + 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, + 0xad, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa3, 0xd9, 0x83, 0xd8, 0xab, + 0xd8, 0xb1, 0xd8, 0xae, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xad, 0xd8, 0xa8, 0xd8, 0xaf, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x84, + 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, + 0xba, 0xd8, 0xb7, 0xd8, 0xaa, 0xd9, 0x83, 0xd9, 0x88, 0xd9, 0x86, 0xd9, 0x87, + 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x83, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xad, 0xd8, + 0xa9, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb7, 0xd8, 0xa8, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x83, 0xd8, + 0xb4, 0xd9, 0x83, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x8a, 0xd9, 0x85, 0xd9, 0x83, + 0xd9, 0x86, 0xd9, 0x85, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xb4, 0xd8, + 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xb3, + 0xd9, 0x86, 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xb7, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, + 0xb0, 0xd8, 0xa7, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x86, 0xd8, 0xb4, + 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, + 0xb1, 0xd8, 0xb1, 0xd8, 0xad, 0xd9, 0x85, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xa7, + 0xd9, 0x81, 0xd8, 0xa9, 0xd9, 0x8a, 0xd9, 0x82, 0xd9, 0x88, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xb2, 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x85, + 0xd8, 0xa9, 0xd8, 0xa3, 0xd8, 0xad, 0xd9, 0x85, 0xd8, 0xaf, 0xd9, 0x82, 0xd9, + 0x84, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x86, 0xd9, 0x8a, + 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xb7, 0xd8, 0xb1, 0xd9, + 0x8a, 0xd9, 0x82, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xac, + 0xd9, 0x88, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, 0xae, 0xd8, 0xb1, 0xd9, + 0x89, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xa7, 0xd8, 0xa8, + 0xd8, 0xad, 0xd8, 0xab, 0xd8, 0xb9, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb6, 0xd8, + 0xa8, 0xd8, 0xb4, 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xac, + 0xd9, 0x84, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xae, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa8, + 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa8, 0xd8, 0xaf, 0xd9, + 0x88, 0xd9, 0x86, 0xd8, 0xa3, 0xd9, 0x8a, 0xd8, 0xb6, 0xd8, 0xa7, 0xd9, 0x8a, + 0xd9, 0x88, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, 0x81, 0xd8, 0xb1, 0xd9, 0x8a, 0xd9, + 0x82, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xa3, 0xd9, 0x81, + 0xd8, 0xb6, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb7, 0xd8, 0xa8, 0xd8, 0xae, 0xd8, + 0xa7, 0xd9, 0x83, 0xd8, 0xab, 0xd8, 0xb1, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x81, 0xd8, 0xb6, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, + 0xad, 0xd9, 0x84, 0xd9, 0x89, 0xd9, 0x86, 0xd9, 0x81, 0xd8, 0xb3, 0xd9, 0x87, + 0xd8, 0xa3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, + 0x88, 0xd8, 0xaf, 0xd8, 0xa3, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xaf, + 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, + 0x86, 0xd9, 0x85, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xb6, 0xd8, 0xaa, 0xd8, 0xb9, + 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xae, 0xd9, 0x84, 0xd9, + 0x85, 0xd9, 0x85, 0xd9, 0x83, 0xd9, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03, + 0x02, 0x01, 0x00, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x0e, + 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, + 0x17, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x18, 0x19, 0x1a, 0x1b, + 0x1c, 0x1d, 0x1e, 0x1f, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x07, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44, + 0x54, 0x44, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x69, 0x6e, 0x67, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, + 0x65, 0x72, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x3c, 0x2f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x3e, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, + 0x6c, 0x69, 0x61, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, + 0x69, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x61, 0x6e, 0x6f, + 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, + 0x74, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0d, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x7d, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x6f, 0x75, + 0x73, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x26, 0x72, 0x61, 0x71, 0x75, 0x6f, 0x3b, 0x3c, 0x2f, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x62, 0x65, 0x61, 0x75, 0x74, 0x69, 0x66, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x65, + 0x64, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x70, 0x72, 0x6f, + 0x6d, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x4e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73, + 0x28, 0x29, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x0a, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76, + 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, + 0x61, 0x6d, 0x65, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x74, + 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6c, 0x73, 0x65, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x41, 0x6c, 0x65, 0x78, 0x61, 0x6e, 0x64, 0x65, 0x72, + 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x73, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x66, 0x66, + 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x3e, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x69, + 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x6f, + 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x79, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, + 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6e, + 0xc3, 0xa7, 0x61, 0x69, 0x73, 0x48, 0x6f, 0x6c, 0x6c, 0x79, 0x77, 0x6f, 0x6f, + 0x64, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x0a, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x6f, + 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, + 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x3e, 0x0a, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x77, 0x69, 0x64, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6e, 0x65, + 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x3e, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x6c, + 0x69, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x73, 0x73, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, + 0x64, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x61, 0x72, + 0x73, 0x65, 0x49, 0x6e, 0x74, 0x28, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x3c, 0x2f, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, + 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x64, 0x74, 0x77, 0x6f, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, + 0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, + 0x3e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x70, 0x65, 0x72, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x74, 0x72, + 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, + 0x61, 0x72, 0x79, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x79, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6c, 0x69, 0x7a, 0x61, + 0x62, 0x65, 0x74, 0x68, 0x3c, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x3e, + 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x73, 0x75, + 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x3b, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x47, 0x65, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x6f, + 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x65, 0x64, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x72, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x75, 0x73, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x6f, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x79, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x69, + 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x3b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x69, 0x74, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x63, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x6f, 0x6e, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x70, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x73, 0x61, 0x64, 0x76, 0x61, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x29, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x46, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x6d, 0x6f, 0x63, 0x72, 0x61, 0x63, + 0x79, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x73, 0x75, 0x66, 0x66, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x73, + 0x61, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x74, 0x20, 0x6d, 0x61, + 0x79, 0x20, 0x62, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x3c, 0x2f, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x73, 0x3c, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3e, 0x0a, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, + 0x20, 0x30, 0x73, 0x70, 0x69, 0x72, 0x69, 0x74, 0x75, 0x61, 0x6c, 0x3c, 0x2f, + 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x6f, 0x66, 0x74, 0x67, 0x72, 0x61, 0x64, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x65, 0x64, 0x68, 0x65, 0x20, 0x62, 0x65, + 0x63, 0x61, 0x6d, 0x65, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, + 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6a, 0x73, 0x68, 0x6f, 0x75, 0x73, + 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, + 0x64, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x65, 0x64, 0x75, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x75, 0x72, 0x69, 0x65, 0x73, 0x4a, 0x61, 0x70, 0x61, 0x6e, + 0x65, 0x73, 0x65, 0x20, 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x73, 0x72, 0x65, 0x62, 0x65, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x72, 0x61, + 0x67, 0x65, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, + 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x6c, 0x74, 0x68, + 0x6f, 0x75, 0x67, 0x68, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x65, 0x64, 0x29, 0x2c, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x64, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x46, 0x65, 0x62, + 0x72, 0x75, 0x61, 0x72, 0x79, 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x6f, 0x75, + 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x6e, 0x74, 0x63, + 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x3d, 0x22, 0x74, 0x65, 0x63, 0x68, 0x6e, + 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x46, 0x61, + 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x20, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x65, 0x6c, + 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x66, 0x66, 0x65, 0x6e, 0x73, + 0x69, 0x76, 0x65, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x09, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x65, 0x64, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x6f, 0x72, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x74, 0x68, 0x6f, 0x73, + 0x65, 0x20, 0x77, 0x68, 0x6f, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x64, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x63, 0x6f, + 0x6e, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, + 0x69, 0x6e, 0x67, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x2e, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x69, 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x64, 0x65, 0x63, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x65, 0x76, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x22, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x6f, 0x61, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x41, + 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x66, 0x75, 0x72, 0x6e, + 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x20, 0x20, 0x6f, 0x6e, 0x62, 0x6c, 0x75, 0x72, 0x3d, 0x22, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, + 0x72, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x2c, 0x61, 0x62, 0x6f, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x77, + 0x65, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x65, 0x6d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, + 0x6e, 0x61, 0x72, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x61, 0x64, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x70, 0x78, 0x3b, 0x62, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x64, 0x69, 0x72, + 0x3d, 0x22, 0x6c, 0x74, 0x72, 0x22, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x65, 0x73, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x20, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x6f, 0x72, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x73, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x53, 0x65, 0x70, 0x74, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x61, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, + 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x20, 0x73, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6c, 0x61, + 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x63, 0x65, + 0x72, 0x74, 0x61, 0x69, 0x6e, 0x6c, 0x79, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x4a, + 0x65, 0x72, 0x75, 0x73, 0x61, 0x6c, 0x65, 0x6d, 0x74, 0x68, 0x65, 0x79, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x6e, 0x63, 0x65, 0x73, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, + 0x65, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x70, 0x78, 0x3b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x74, 0x68, + 0x65, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x75, 0x72, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x65, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x62, 0x65, 0x67, 0x61, 0x6e, + 0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, + 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x61, + 0x72, 0x79, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x6f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x3c, 0x2f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x3e, 0x3c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x6b, 0x69, 0x6e, 0x64, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x69, 0x65, + 0x73, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x69, 0x64, 0x65, 0x20, 0x2d, 0x2d, + 0x26, 0x67, 0x74, 0x3b, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x77, 0x65, + 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x28, 0x73, + 0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x62, 0x75, 0x72, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x61, 0x20, 0x73, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, + 0x72, 0x65, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, 0x3c, 0x2f, 0x4e, 0x6f, + 0x72, 0x77, 0x65, 0x67, 0x69, 0x61, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x70, + 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x28, 0x6e, 0x65, 0x77, 0x20, + 0x44, 0x61, 0x74, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, + 0x66, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x66, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x65, 0x71, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x72, 0x65, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x69, + 0x6e, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x68, 0x65, 0x6e, 0x6f, 0x6d, + 0x65, 0x6e, 0x61, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x6f, 0x66, 0x74, + 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x22, 0x3e, 0x73, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x41, 0x6d, 0x6f, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x41, 0x69, 0x72, + 0x20, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, + 0x6f, 0x66, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x69, 0x6d, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x20, 0x69, 0x74, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x63, + 0x6f, 0x6e, 0x71, 0x75, 0x65, 0x72, 0x65, 0x64, 0x61, 0x72, 0x65, 0x20, 0x73, + 0x74, 0x69, 0x6c, 0x6c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, + 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, + 0x20, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x6d, 0x6f, 0x6c, + 0x65, 0x63, 0x75, 0x6c, 0x65, 0x73, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, + 0x73, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x68, + 0x6f, 0x6f, 0x64, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x64, 0x64, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x73, 0x69, 0x6e, 0x67, 0x61, + 0x70, 0x6f, 0x72, 0x65, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x66, + 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x66, + 0x6c, 0x69, 0x63, 0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x70, 0x3e, + 0x0a, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x77, 0x65, 0x72, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x73, + 0x64, 0x65, 0x6c, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x70, 0x72, 0x69, 0x73, + 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x21, 0x5b, + 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, 0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x20, 0x62, 0x67, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x69, + 0x63, 0x69, 0x61, 0x6c, 0x73, 0x73, 0x65, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x6c, + 0x79, 0x2d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x62, 0x79, 0x3c, 0x2f, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x3e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x21, 0x2d, + 0x2d, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x57, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x77, + 0x61, 0x73, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x56, 0x65, 0x6e, 0x65, 0x7a, + 0x75, 0x65, 0x6c, 0x61, 0x28, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, + 0x63, 0x66, 0x61, 0x76, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6b, 0x69, 0x70, 0x65, 0x64, + 0x69, 0x61, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, + 0x77, 0x61, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x73, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x61, 0x77, 0x61, 0x79, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x6f, 0x6c, 0x65, 0x63, 0x75, 0x6c, 0x61, + 0x72, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, 0x6c, 0x79, 0x64, 0x69, 0x73, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x3e, 0x26, + 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x68, 0x61, 0x76, 0x65, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x73, 0x6d, 0x73, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x46, 0x72, 0x69, 0x65, 0x64, 0x72, 0x69, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x69, 0x73, 0x74, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73, + 0x20, 0x69, 0x6e, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x73, 0x70, 0x61, 0x6e, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, 0x74, 0x6f, + 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x72, 0x76, + 0x69, 0x76, 0x69, 0x6e, 0x67, 0x7d, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x61, 0x74, 0x68, 0x61, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x61, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x73, 0x6d, + 0x69, 0x73, 0x73, 0x65, 0x64, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, + 0x74, 0x72, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x73, 0x64, 0x75, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, + 0x76, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x61, 0x6c, + 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x7b, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x69, 0x6d, 0x67, 0x20, + 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x72, + 0x6e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x6e, 0x65, + 0x65, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x47, 0x72, + 0x65, 0x61, 0x74, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x65, 0x65, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x76, 0x69, 0x65, 0x77, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x6f, 0x6e, + 0x69, 0x64, 0x65, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x68, 0x65, 0x20, + 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6f, + 0x66, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x65, + 0x73, 0x65, 0x20, 0x61, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x22, 0x3e, 0x63, 0x61, 0x72, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x20, 0x6f, 0x66, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, + 0x74, 0x22, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x74, + 0x65, 0x6e, 0x20, 0x20, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0d, 0x0a, 0x70, 0x72, + 0x6f, 0x62, 0x61, 0x62, 0x6c, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, + 0x73, 0x6f, 0x72, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x73, 0x61, 0x79, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x68, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x48, 0x75, 0x6e, 0x67, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, + 0x66, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x61, 0x73, 0x55, 0x6e, 0x69, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x66, 0x6f, + 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x68, + 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x72, 0x22, 0x3e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x61, 0x6c, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x6f, + 0x66, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, + 0x63, 0x74, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x65, 0x61, 0x73, 0x69, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x70, + 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x0a, 0x26, 0x6c, 0x74, 0x3b, + 0x21, 0x2d, 0x2d, 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x77, 0x61, 0x73, 0x20, + 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x62, 0x65, 0x6c, + 0x69, 0x65, 0x66, 0x20, 0x69, 0x6e, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x61, + 0x6e, 0x73, 0x61, 0x73, 0x20, 0x66, 0x61, 0x72, 0x20, 0x61, 0x73, 0x70, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x3c, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x43, 0x68, 0x72, 0x69, 0x73, + 0x74, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, + 0x0a, 0x0a, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, + 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x61, 0x73, + 0x74, 0x6d, 0x61, 0x67, 0x61, 0x7a, 0x69, 0x6e, 0x65, 0x73, 0x3e, 0x3c, 0x73, + 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x20, 0x6f, 0x66, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61, + 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x73, 0x20, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6f, 0x77, 0x6e, + 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x61, 0x6e, 0x20, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x61, 0x72, 0x69, 0x62, 0x62, 0x65, 0x61, + 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x77, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x6e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x3b, 0x20, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, + 0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x4a, + 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x20, 0x31, 0x3c, 0x2f, 0x66, 0x6f, 0x6f, + 0x74, 0x65, 0x72, 0x3e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x6c, 0x79, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x20, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x3b, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x65, + 0x61, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x63, + 0x6f, 0x6e, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2e, 0x70, 0x68, 0x70, 0x61, 0x73, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x72, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x66, 0x65, 0x77, 0x20, 0x79, 0x65, 0x61, 0x72, + 0x73, 0x77, 0x65, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x0a, 0x3c, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x63, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x6b, 0x65, 0x79, 0x63, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x6e, 0x65, 0x64, 0x61, + 0x6c, 0x73, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x2c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20, 0x6f, 0x66, + 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x65, 0x64, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x6d, 0x69, 0x6e, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x3e, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, + 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x61, 0x64, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x54, + 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, 0x72, 0x65, 0x61, 0x6e, 0x79, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x75, 0x63, 0x68, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, + 0x61, 0x6c, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x79, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x6e, 0x6f, 0x74, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x77, + 0x65, 0x64, 0x6e, 0x65, 0x73, 0x64, 0x61, 0x79, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x68, 0x69, 0x72, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, + 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x20, 0x32, 0x77, 0x68, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x79, 0x61, 0x20, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x68, + 0x69, 0x73, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x64, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x22, 0x3e, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x74, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x65, + 0x65, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68, 0x61, 0x73, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x20, 0x3c, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3e, 0x67, 0x69, + 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x3e, 0x70, + 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x30, 0x76, 0x69, 0x65, 0x77, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x2c, + 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x20, 0x6f, + 0x66, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x20, 0x6f, 0x6e, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x2c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, + 0x6f, 0x66, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x65, + 0x64, 0x6c, 0x79, 0x43, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x77, + 0x61, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x61, 0x72, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x77, 0x61, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x6f, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x6f, + 0x66, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x75, 0x63, + 0x68, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, + 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x2c, 0x20, + 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x75, 0x73, 0x65, 0x75, 0x6d, + 0x20, 0x6f, 0x66, 0x6c, 0x6f, 0x75, 0x69, 0x73, 0x69, 0x61, 0x6e, 0x61, 0x28, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x69, 0x6e, 0x6e, 0x65, + 0x73, 0x6f, 0x74, 0x61, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, + 0x61, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x6d, 0x69, + 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x20, 0x6f, + 0x66, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x66, + 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x30, 0x30, 0x70, 0x78, 0x7c, 0x72, 0x69, + 0x67, 0x68, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x6f, + 0x75, 0x73, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x28, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x65, 0x73, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x69, 0x73, 0x63, 0x6f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x6f, 0x6d, + 0x65, 0x77, 0x68, 0x6f, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x20, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, + 0x6f, 0x66, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x74, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x6d, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x69, 0x6e, 0x67, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, + 0x70, 0x61, 0x70, 0x65, 0x72, 0x62, 0x61, 0x63, 0x6b, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x0d, 0x0a, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x3e, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x64, 0x65, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x26, 0x71, 0x75, 0x6f, 0x74, + 0x3b, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x6e, + 0x64, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x3e, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x20, 0x61, 0x6e, 0x64, 0x6f, 0x66, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x54, 0x4d, 0x4c, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x3b, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x76, 0x65, 0x72, 0x79, 0x20, 0x68, 0x69, + 0x67, 0x68, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x2d, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, 0x2f, 0x74, + 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x61, 0x66, 0x72, 0x69, 0x6b, + 0x61, 0x61, 0x6e, 0x73, 0x65, 0x73, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x74, 0x6f, + 0x66, 0x72, 0x61, 0x6e, 0xc3, 0xa7, 0x61, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x76, + 0x69, 0x65, 0xc5, 0xa1, 0x75, 0x6c, 0x69, 0x65, 0x74, 0x75, 0x76, 0x69, 0xc5, + 0xb3, 0xc4, 0x8c, 0x65, 0xc5, 0xa1, 0x74, 0x69, 0x6e, 0x61, 0xc4, 0x8d, 0x65, + 0xc5, 0xa1, 0x74, 0x69, 0x6e, 0x61, 0xe0, 0xb9, 0x84, 0xe0, 0xb8, 0x97, 0xe0, + 0xb8, 0xa2, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe8, 0xaa, 0x9e, 0xe7, 0xae, + 0x80, 0xe4, 0xbd, 0x93, 0xe5, 0xad, 0x97, 0xe7, 0xb9, 0x81, 0xe9, 0xab, 0x94, + 0xe5, 0xad, 0x97, 0xed, 0x95, 0x9c, 0xea, 0xb5, 0xad, 0xec, 0x96, 0xb4, 0xe4, + 0xb8, 0xba, 0xe4, 0xbb, 0x80, 0xe4, 0xb9, 0x88, 0xe8, 0xae, 0xa1, 0xe7, 0xae, + 0x97, 0xe6, 0x9c, 0xba, 0xe7, 0xac, 0x94, 0xe8, 0xae, 0xb0, 0xe6, 0x9c, 0xac, + 0xe8, 0xa8, 0x8e, 0xe8, 0xab, 0x96, 0xe5, 0x8d, 0x80, 0xe6, 0x9c, 0x8d, 0xe5, + 0x8a, 0xa1, 0xe5, 0x99, 0xa8, 0xe4, 0xba, 0x92, 0xe8, 0x81, 0x94, 0xe7, 0xbd, + 0x91, 0xe6, 0x88, 0xbf, 0xe5, 0x9c, 0xb0, 0xe4, 0xba, 0xa7, 0xe4, 0xbf, 0xb1, + 0xe4, 0xb9, 0x90, 0xe9, 0x83, 0xa8, 0xe5, 0x87, 0xba, 0xe7, 0x89, 0x88, 0xe7, + 0xa4, 0xbe, 0xe6, 0x8e, 0x92, 0xe8, 0xa1, 0x8c, 0xe6, 0xa6, 0x9c, 0xe9, 0x83, + 0xa8, 0xe8, 0x90, 0xbd, 0xe6, 0xa0, 0xbc, 0xe8, 0xbf, 0x9b, 0xe4, 0xb8, 0x80, + 0xe6, 0xad, 0xa5, 0xe6, 0x94, 0xaf, 0xe4, 0xbb, 0x98, 0xe5, 0xae, 0x9d, 0xe9, + 0xaa, 0x8c, 0xe8, 0xaf, 0x81, 0xe7, 0xa0, 0x81, 0xe5, 0xa7, 0x94, 0xe5, 0x91, + 0x98, 0xe4, 0xbc, 0x9a, 0xe6, 0x95, 0xb0, 0xe6, 0x8d, 0xae, 0xe5, 0xba, 0x93, + 0xe6, 0xb6, 0x88, 0xe8, 0xb4, 0xb9, 0xe8, 0x80, 0x85, 0xe5, 0x8a, 0x9e, 0xe5, + 0x85, 0xac, 0xe5, 0xae, 0xa4, 0xe8, 0xae, 0xa8, 0xe8, 0xae, 0xba, 0xe5, 0x8c, + 0xba, 0xe6, 0xb7, 0xb1, 0xe5, 0x9c, 0xb3, 0xe5, 0xb8, 0x82, 0xe6, 0x92, 0xad, + 0xe6, 0x94, 0xbe, 0xe5, 0x99, 0xa8, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe5, + 0xb8, 0x82, 0xe5, 0xa4, 0xa7, 0xe5, 0xad, 0xa6, 0xe7, 0x94, 0x9f, 0xe8, 0xb6, + 0x8a, 0xe6, 0x9d, 0xa5, 0xe8, 0xb6, 0x8a, 0xe7, 0xae, 0xa1, 0xe7, 0x90, 0x86, + 0xe5, 0x91, 0x98, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe7, 0xbd, 0x91, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x69, 0x6f, 0x73, 0x61, 0x72, 0x74, 0xc3, 0xad, + 0x63, 0x75, 0x6c, 0x6f, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61, + 0x62, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x6f, 0x6e, 0x61, 0x63, 0x75, 0x61, 0x6c, + 0x71, 0x75, 0x69, 0x65, 0x72, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x64, + 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x73, 0x70, 0x6f, 0x6c, + 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x72, 0x65, 0x73, 0x70, 0x75, 0x65, 0x73, + 0x74, 0x61, 0x77, 0x69, 0x6b, 0x69, 0x70, 0x65, 0x64, 0x69, 0x61, 0x73, 0x69, + 0x67, 0x75, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x62, 0xc3, 0xba, 0x73, 0x71, 0x75, + 0x65, 0x64, 0x61, 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x73, + 0x65, 0x67, 0x75, 0x72, 0x69, 0x64, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x61, 0x6c, 0x70, 0x72, 0x65, 0x67, 0x75, 0x6e, 0x74, 0x61, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x69, 0x64, 0x6f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, + 0x61, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x61, 0x73, 0x64, 0x69, 0x63, + 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x72, 0x65, 0x6c, 0x61, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x73, 0x69, + 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x79, 0x65, 0x63, + 0x74, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x61, 0x73, 0x69, + 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x64, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0xc3, 0xad, 0x61, 0x69, 0x6d, 0xc3, 0xa1, + 0x67, 0x65, 0x6e, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x61, + 0x72, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x72, 0x6e, 0x65, 0x63, + 0x65, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0x74, 0x65, 0x6c, 0xc3, 0xa9, 0x66, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, + 0x6d, 0x69, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x61, 0x6e, 0x63, 0x69, 0x6f, + 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x64, 0x61, 0x64, 0x65, + 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x72, 0x61, 0x6e, 0xc3, 0xa1, 0x6c, + 0x69, 0x73, 0x69, 0x73, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x6f, 0x73, + 0x74, 0xc3, 0xa9, 0x72, 0x6d, 0x69, 0x6e, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x74, 0x69, 0x71, 0x75, 0x65, 0x74, 0x61, + 0x73, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x66, 0x75, 0x6e, + 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x61, + 0x64, 0x6f, 0x63, 0x61, 0x72, 0xc3, 0xa1, 0x63, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x6f, 0x70, 0x69, 0x65, 0x64, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x69, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x69, 0x64, 0x61, 0x64, 0x6d, + 0x75, 0x6e, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x63, 0x72, 0x65, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x73, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x63, 0x6f, 0x6d, 0x65, + 0x72, 0x63, 0x69, 0x61, 0x6c, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x65, + 0x73, 0x65, 0x6a, 0x65, 0x72, 0x63, 0x69, 0x63, 0x69, 0x6f, 0x65, 0x64, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x61, 0x6c, 0x61, 0x6d, 0x61, 0x6e, + 0x63, 0x61, 0x67, 0x6f, 0x6e, 0x7a, 0xc3, 0xa1, 0x6c, 0x65, 0x7a, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x70, 0x65, 0x6c, 0xc3, 0xad, 0x63, + 0x75, 0x6c, 0x61, 0x72, 0x65, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x61, 0x72, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x61, 0x70, 0x72, 0xc3, 0xa1, 0x63, 0x74, 0x69, 0x63, 0x61, + 0x6e, 0x6f, 0x76, 0x65, 0x64, 0x61, 0x64, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x70, + 0x75, 0x65, 0x73, 0x74, 0x61, 0x70, 0x61, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, + 0x73, 0x74, 0xc3, 0xa9, 0x63, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x6f, 0x62, 0x6a, + 0x65, 0x74, 0x69, 0x76, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x6f, 0x73, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x88, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, + 0xb5, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x95, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0x9b, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x88, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0x64, 0x69, 0x70, 0x6c, 0x6f, + 0x64, 0x6f, 0x63, 0x73, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaf, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x94, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xae, + 0xe0, 0xa5, 0x8c, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa5, 0x89, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0x97, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xae, 0xe0, + 0xa4, 0x96, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x9f, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, + 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x90, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x8a, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x90, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xa6, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x96, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x86, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb2, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x89, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xad, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0x95, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa0, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x86, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x95, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8c, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, + 0x81, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x80, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x20, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x79, + 0x74, 0x68, 0x69, 0x6e, 0x67, 0x3c, 0x70, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x61, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x26, 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x20, 0x32, 0x30, 0x31, + 0x6a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x62, 0x72, 0x65, 0x61, 0x64, 0x63, + 0x72, 0x75, 0x6d, 0x62, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, + 0x73, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x69, 0x66, + 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x4e, + 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x6d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x62, + 0x6f, 0x78, 0x22, 0x20, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x73, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x70, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, 0x73, 0x20, 0x77, 0x65, + 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x75, 0x6e, 0x74, 0x27, 0x2c, 0x20, 0x27, 0x55, + 0x41, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, + 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x20, 0x3d, 0x20, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x26, 0x6c, 0x74, 0x3b, 0x62, 0x72, 0x26, 0x67, 0x74, + 0x3b, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x70, 0x6f, + 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x67, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x65, 0x77, 0x73, + 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x72, 0x6c, 0x69, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, + 0x6e, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x2e, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x28, 0x22, 0x63, 0x6f, 0x6e, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x62, + 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x76, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x6f, 0x64, + 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, 0x6d, 0x6f, 0x73, 0x70, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x6f, 0x6e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x3d, 0x22, 0x3c, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x68, 0x65, + 0x6e, 0x6f, 0x6d, 0x65, 0x6e, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x69, 0x70, + 0x6c, 0x69, 0x6e, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x22, + 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6f, + 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x28, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x22, 0x20, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x28, 0x22, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x20, 0x64, 0x65, 0x6d, + 0x6f, 0x63, 0x72, 0x61, 0x74, 0x69, 0x63, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x3e, + 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x6c, 0x69, + 0x6e, 0x67, 0x75, 0x69, 0x73, 0x74, 0x69, 0x63, 0x70, 0x78, 0x3b, 0x70, 0x61, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, + 0x68, 0x79, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x75, + 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x66, 0x61, 0x63, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, + 0x7a, 0x65, 0x64, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x69, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x6d, 0x61, 0x69, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x76, 0x6f, 0x63, 0x61, 0x62, 0x75, + 0x6c, 0x61, 0x72, 0x79, 0x68, 0x79, 0x70, 0x6f, 0x74, 0x68, 0x65, 0x73, 0x69, + 0x73, 0x2e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x26, 0x61, + 0x6d, 0x70, 0x3b, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x22, 0x61, 0x73, 0x73, 0x75, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x64, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x73, 0x65, 0x78, 0x70, + 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, + 0x64, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x6f, 0x6f, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x76, 0x65, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x67, 0x65, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x2f, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x72, + 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x61, 0x70, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x68, 0x31, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x30, 0x70, 0x78, 0x3b, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x63, 0x65, 0x6c, 0x65, 0x62, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x0a, 0x0a, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x64, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x65, 0x72, + 0x65, 0x4e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x65, + 0x79, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, + 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x3d, 0x22, 0x65, 0x6e, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x0d, 0x0a, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x20, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x74, + 0x72, 0x65, 0x6d, 0x65, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, + 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x65, 0x6d, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x2f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x3e, 0x0d, 0x0a, 0x20, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, + 0x3d, 0x22, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x70, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x65, 0x6e, 0x50, 0x6f, 0x72, + 0x74, 0x75, 0x67, 0x75, 0x65, 0x73, 0x65, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, + 0x74, 0x75, 0x74, 0x65, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, + 0x6c, 0x69, 0x6d, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x61, 0x6c, 0x6d, 0x6f, 0x73, + 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x70, 0x78, 0x20, 0x73, 0x6f, 0x6c, 0x69, 0x64, + 0x20, 0x23, 0x61, 0x70, 0x61, 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x20, 0x45, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x69, + 0x7a, 0x65, 0x64, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x66, 0x6f, 0x72, + 0x67, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x68, 0x32, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x61, + 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x28, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x65, 0x64, 0x3d, + 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x70, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x78, 0x3b, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x66, 0x75, 0x6c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x73, 0x6d, 0x69, 0x6c, 0x6c, 0x65, 0x6e, 0x6e, 0x69, 0x75, 0x6d, 0x68, 0x69, + 0x73, 0x20, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x74, 0x68, 0x65, 0x20, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6e, 0x6f, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x69, + 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x72, 0x61, 0x67, 0x65, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x75, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, + 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x64, 0x69, 0x73, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x72, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x6c, 0x65, 0x67, 0x69, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x22, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x6c, 0x79, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x66, 0x69, 0x76, 0x65, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x69, 0x6e, 0x67, 0x31, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x70, 0x73, 0x79, 0x63, 0x68, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, + 0x6f, 0x66, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x6a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x6c, 0x79, 0x3e, 0x3c, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x3e, + 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x62, 0x75, 0x74, + 0x20, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x69, 0x6d, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, + 0x2c, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6f, 0x66, 0x4c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x69, 0x6b, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x26, 0x6e, 0x62, 0x73, + 0x70, 0x3b, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, + 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x61, 0x6e, 0x74, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, + 0x72, 0x6c, 0x79, 0x2c, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0d, 0x0a, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x20, + 0x6f, 0x66, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x65, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x6e, 0x65, 0x64, 0x2a, 0x3c, 0x21, 0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x20, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x3c, + 0x2f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x28, 0x27, 0x69, 0x20, + 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6c, 0x74, 0x69, + 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x73, 0x6f, 0x2d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x7d, 0x0a, 0x3c, + 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6d, 0x70, 0x68, 0x61, 0x73, 0x69, 0x7a, 0x65, + 0x64, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x3c, 0x2f, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x4d, 0x65, 0x61, 0x6e, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x2c, 0x69, + 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x63, + 0x6f, 0x6d, 0x65, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x54, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x62, 0x61, 0x6c, 0x6c, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x73, 0x69, 0x64, 0x65, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x69, 0x6e, 0x67, 0x61, 0x6e, + 0x20, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, + 0x6c, 0x61, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x63, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x22, 0x3e, 0x3c, 0x73, 0x74, 0x72, + 0x6f, 0x6e, 0x67, 0x3e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, + 0x73, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x66, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x61, 0x74, 0x65, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x09, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x6e, 0x6f, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x69, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x62, 0x75, 0x73, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x65, 0x73, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x72, 0x79, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x20, 0x4a, 0x61, + 0x6e, 0x75, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x69, 0x73, 0x69, + 0x6e, 0x67, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x09, 0x64, + 0x69, 0x70, 0x6c, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x69, 0x6e, 0x67, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, + 0x63, 0x6b, 0x3d, 0x22, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, + 0x6f, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x6d, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x4c, 0x75, 0x78, 0x65, 0x6d, + 0x62, 0x6f, 0x75, 0x72, 0x67, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x65, + 0x6e, 0x67, 0x61, 0x67, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x22, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x22, 0x29, 0x3b, 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20, + 0x77, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x3d, 0x22, 0x0a, 0x3c, 0x21, + 0x2d, 0x2d, 0x20, 0x45, 0x6e, 0x64, 0x20, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, + 0x69, 0x63, 0x61, 0x6c, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x6c, + 0x79, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x6f, + 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x75, 0x6e, 0x6c, 0x69, 0x6b, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, + 0x61, 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, 0x3c, 0x2f, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, + 0x73, 0x65, 0x64, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x41, 0x6c, 0x65, + 0x78, 0x61, 0x6e, 0x64, 0x72, 0x69, 0x61, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x0a, 0x0a, + 0x26, 0x6c, 0x74, 0x3b, 0x21, 0x2d, 0x2d, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x68, 0x33, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x6f, 0x62, 0x6c, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x64, 0x76, + 0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6e, + 0x73, 0x3c, 0x62, 0x61, 0x73, 0x65, 0x20, 0x68, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x6c, 0x79, 0x77, 0x69, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x76, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x75, + 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x20, 0x72, 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x74, + 0x77, 0x6f, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x46, 0x65, 0x62, 0x72, + 0x75, 0x61, 0x72, 0x79, 0x20, 0x32, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x20, 0x6f, 0x66, 0x73, 0x77, 0x66, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x6e, 0x65, 0x61, + 0x72, 0x6c, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, + 0x6e, 0x20, 0x62, 0x79, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, + 0x73, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x77, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x69, 0x73, 0x20, 0x75, 0x73, 0x75, 0x61, 0x6c, + 0x6c, 0x79, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x6e, + 0x65, 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x6d, 0x79, 0x73, 0x74, + 0x65, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x62, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x70, 0x61, 0x72, 0x6c, 0x69, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x75, 0x70, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, + 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x65, + 0x64, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x68, 0x61, 0x73, 0x20, 0x6c, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x6e, + 0x64, 0x61, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x69, + 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, 0x65, 0x72, 0x65, + 0x6d, 0x6f, 0x6e, 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x53, 0x63, 0x69, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x6e, 0x6f, 0x2d, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x73, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x77, 0x69, + 0x64, 0x65, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x62, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x73, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x69, 0x6d, 0x70, 0x72, + 0x69, 0x73, 0x6f, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x6d, + 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x76, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x32, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x3a, 0x20, 0x6c, 0x65, 0x66, 0x44, 0x75, 0x72, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, + 0x6e, 0x74, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64, + 0x65, 0x61, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x2f, 0x75, 0x6c, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x22, 0x3e, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x79, + 0x65, 0x61, 0x72, 0x73, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x65, 0x72, + 0x65, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x73, 0x79, + 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, + 0x6c, 0x79, 0x68, 0x69, 0x73, 0x20, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x75, + 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x75, 0x6e, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x64, + 0x61, 0x20, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x73, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x69, 0x6e, 0x20, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, 0x61, 0x69, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x72, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x75, + 0x73, 0x20, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x72, 0x6f, 0x77, 0x73, 0x70, 0x61, 0x6e, 0x3d, 0x22, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x61, 0x20, 0x66, 0x65, 0x77, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x3c, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x3e, 0x41, 0x72, 0x63, 0x68, 0x62, 0x69, + 0x73, 0x68, 0x6f, 0x70, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6e, + 0x6f, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x64, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x70, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x73, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x6d, + 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x45, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x65, 0x67, 0x67, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, + 0x73, 0x6d, 0x73, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x22, 0x3e, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, + 0x0d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x61, 0x72, + 0x72, 0x69, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x2d, 0x6a, 0x73, 0x73, 0x64, + 0x6b, 0x27, 0x29, 0x29, 0x3b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x63, + 0x61, 0x73, 0x75, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, + 0x61, 0x6e, 0x73, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x73, 0x6d, 0x69, 0x67, 0x68, 0x74, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x50, 0x68, + 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, 0x68, 0x79, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x68, 0x69, 0x70, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x74, + 0x6f, 0x77, 0x61, 0x72, 0x64, 0x20, 0x74, 0x68, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x65, 0x64, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30, 0x30, 0x30, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x73, 0x61, + 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x6f, 0x6e, 0x6b, 0x65, 0x79, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x3b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x3a, 0x48, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x74, 0x79, 0x70, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x72, 0x63, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, + 0x20, 0x62, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x6f, 0x77, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x0a, 0x09, 0x09, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x6f, 0x6d, 0x65, 0x72, + 0x68, 0x65, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x64, 0x75, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x73, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x20, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x20, 0x74, 0x6f, 0x54, 0x68, 0x65, 0x72, 0x65, 0x66, 0x6f, 0x72, + 0x65, 0x2c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, + 0x6e, 0x69, 0x63, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x69, 0x67, 0x65, 0x6e, 0x6f, 0x75, + 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, + 0x62, 0x73, 0x69, 0x64, 0x69, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x73, 0x70, + 0x69, 0x72, 0x61, 0x63, 0x79, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, + 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x66, 0x66, 0x6f, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x75, 0x62, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, + 0x66, 0x6f, 0x72, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x73, + 0x65, 0x64, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x61, 0x61, 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x74, 0x72, + 0x61, 0x76, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x70, 0x61, 0x72, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x73, 0x20, + 0x6f, 0x6e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x6f, 0x75, 0x6e, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, + 0x65, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x75, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, + 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x28, 0x73, 0x6f, 0x6d, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x71, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x3f, 0x3c, 0x2f, 0x62, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x3e, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x62, 0x65, 0x73, 0x74, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x22, 0x20, 0x64, + 0x69, 0x72, 0x3d, 0x22, 0x6c, 0x74, 0x72, 0x4c, 0x69, 0x65, 0x75, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x64, 0x65, 0x20, + 0x75, 0x70, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, + 0x72, 0x67, 0x75, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x61, + 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, + 0x6e, 0x27, 0x73, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, + 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x62, 0x61, 0x73, + 0x65, 0x64, 0x20, 0x75, 0x70, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6f, + 0x66, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x70, 0x6f, + 0x73, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x49, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x69, 0x6e, 0x20, + 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2d, + 0x77, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x53, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x70, 0x6f, + 0x6c, 0x69, 0x74, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x77, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x20, + 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x68, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x20, 0x61, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x74, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x20, 0x66, 0x6f, 0x72, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x6e, + 0x63, 0x65, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x62, 0x75, 0x74, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x20, 0x74, 0x68, 0x61, 0x74, 0x6c, 0x61, 0x62, + 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, + 0x69, 0x62, 0x6c, 0x65, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x62, 0x65, + 0x67, 0x61, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x75, 0x73, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x2f, 0x22, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x67, 0x65, 0x6f, 0x6c, 0x6f, 0x67, 0x69, + 0x63, 0x61, 0x6c, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x6f, 0x66, + 0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x20, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x74, 0x6f, 0x70, 0x74, 0x68, + 0x65, 0x20, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x20, 0x6f, 0x66, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x72, 0x65, 0x65, 0x72, 0x73, + 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x3d, 0x22, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x74, 0x68, + 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x63, 0x75, 0x72, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x77, 0x65, 0x72, 0x65, 0x20, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x77, 0x61, 0x73, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x61, + 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6d, 0x75, 0x63, 0x68, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x44, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x31, 0x30, 0x30, + 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4b, 0x69, 0x6e, + 0x67, 0x64, 0x6f, 0x6d, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, + 0x74, 0x69, 0x72, 0x65, 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x46, + 0x72, 0x65, 0x6e, 0x63, 0x68, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x61, + 0x6e, 0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x3e, 0x69, + 0x73, 0x20, 0x73, 0x61, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x64, 0x75, 0x6d, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, + 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x3e, 0x0a, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x20, 0x4f, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x61, 0x6c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x77, 0x69, 0x64, 0x65, + 0x2e, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x69, + 0x74, 0x20, 0x77, 0x61, 0x73, 0x64, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3d, 0x22, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x74, 0x62, + 0x65, 0x6e, 0x65, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x6c, 0x79, + 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x6e, 0x6f, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x3c, 0x2f, + 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, + 0x72, 0x6d, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6f, 0x70, 0x65, 0x6e, + 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x65, 0x64, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, + 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x61, 0x6e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x73, 0x20, 0x6f, 0x66, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x76, 0x65, + 0x72, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x6f, 0x74, 0x69, 0x76, 0x65, 0x62, 0x79, 0x20, 0x66, 0x61, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x70, + 0x75, 0x72, 0x73, 0x75, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, + 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, + 0x61, 0x67, 0x72, 0x65, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x63, 0x63, + 0x75, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6e, + 0x67, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x68, 0x69, + 0x73, 0x20, 0x6f, 0x72, 0x20, 0x68, 0x65, 0x72, 0x74, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x64, 0x6f, 0x75, 0x73, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x20, + 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x30, + 0x20, 0x31, 0x65, 0x6d, 0x20, 0x31, 0x65, 0x6d, 0x3b, 0x42, 0x61, 0x73, 0x6b, + 0x65, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, + 0x63, 0x73, 0x73, 0x61, 0x6e, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x2f, 0x22, 0x20, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x70, 0x69, 0x74, 0x74, 0x73, 0x62, 0x75, 0x72, 0x67, 0x68, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0d, 0x3c, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x28, 0x66, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x6f, + 0x75, 0x74, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x3c, + 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x0d, 0x0a, 0x20, 0x6f, 0x63, 0x63, 0x61, + 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, + 0x20, 0x69, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x20, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, + 0x2c, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x74, 0x61, + 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x61, 0x73, + 0x74, 0x72, 0x6f, 0x75, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x3e, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x0a, 0x3c, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, + 0x66, 0x6f, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, + 0x2e, 0x73, 0x72, 0x63, 0x20, 0x3d, 0x20, 0x22, 0x2f, 0x2f, 0x76, 0x69, 0x6f, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x6c, + 0x79, 0x69, 0x73, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x64, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x6e, + 0x64, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, 0xaa, 0x73, 0xd7, + 0xa2, 0xd7, 0x91, 0xd7, 0xa8, 0xd7, 0x99, 0xd7, 0xaa, 0xd9, 0x81, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd8, 0xb3, 0xdb, 0x8c, 0x64, 0x65, 0x73, 0x61, 0x72, 0x72, 0x6f, + 0x6c, 0x6c, 0x6f, 0x63, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, + 0x65, 0x64, 0x75, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x73, 0x65, 0x70, + 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x64, 0x6f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x63, 0x69, 0xc3, 0xb3, + 0x6e, 0x75, 0x62, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x69, 0x64, 0x61, 0x64, 0x72, 0x65, 0x73, 0x70, 0x75, + 0x65, 0x73, 0x74, 0x61, 0x73, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x61, 0x64, + 0x6f, 0x73, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x65, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x64, 0x6f, 0x73, 0x61, 0x72, 0x74, 0xc3, + 0xad, 0x63, 0x75, 0x6c, 0x6f, 0x73, 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x74, 0x65, 0x73, 0x73, 0x69, 0x67, 0x75, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, + 0x72, 0x65, 0x70, 0xc3, 0xba, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x69, 0x74, + 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x69, 0x6f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x69, 0x64, 0x61, + 0x64, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x6f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x6f, 0x62, 0x6c, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x6f, 0x73, 0x74, 0x65, 0x63, 0x68, + 0x6e, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x65, 0x73, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0xc3, 0xad, 0x61, + 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x73, 0x64, 0x69, 0x73, + 0x70, 0x6f, 0x6e, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x64, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69, + 0x61, 0x76, 0x61, 0x6c, 0x6c, 0x61, 0x64, 0x6f, 0x6c, 0x69, 0x64, 0x62, 0x69, + 0x62, 0x6c, 0x69, 0x6f, 0x74, 0x65, 0x63, 0x61, 0x72, 0x65, 0x6c, 0x61, 0x63, + 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, + 0x69, 0x6f, 0x70, 0x6f, 0x6c, 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x73, 0x61, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x65, 0x73, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x65, 0x7a, 0x61, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x73, + 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x63, 0x6f, + 0x6e, 0xc3, 0xb3, 0x6d, 0x69, 0x63, 0x61, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x6f, 0x64, 0x72, 0xc3, 0xad, 0x67, 0x75, 0x65, + 0x7a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x63, 0x75, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, + 0x72, 0x61, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x66, + 0x72, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x70, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x65, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x65, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd0, 0xb1, 0xd1, 0x83, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbc, 0xd0, + 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb2, 0xd1, 0x80, 0xd0, 0xb5, + 0xd0, 0xbc, 0xd1, 0x8f, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb6, 0xd0, + 0xb5, 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xb1, + 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, + 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, + 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, + 0xbf, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x81, + 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, + 0x82, 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb7, + 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x83, 0xd1, 0x82, 0xd1, 0x81, 0xd0, + 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xb6, 0xd0, 0xb8, 0xd0, 0xb7, + 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xb6, 0xd0, 0xb4, 0xd1, + 0x83, 0xd0, 0xb1, 0xd1, 0x83, 0xd0, 0xb4, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0x9f, + 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb7, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb4, 0xd0, 0xb5, + 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, 0xd1, 0x8f, 0xd0, 0xb7, 0xd0, 0xb8, 0xd0, + 0xbd, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, + 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd0, 0xb9, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, + 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, + 0xb0, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, + 0xb5, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb6, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xbd, + 0xd1, 0x8c, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, + 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbf, 0xd0, 0xb5, + 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, + 0x82, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, + 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, + 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, + 0xb9, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, + 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, + 0xd0, 0xb5, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, + 0xbe, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb0, + 0xd0, 0xb7, 0xd0, 0xb0, 0xd0, 0xb4, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, + 0xbe, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0x9f, 0xd0, + 0xbe, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, + 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd0, + 0xb9, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x82, + 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x85, 0xd1, 0x81, 0xd1, 0x80, 0xd0, + 0xb0, 0xd0, 0xb7, 0xd1, 0x83, 0xd0, 0xa1, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xba, + 0xd1, 0x82, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, + 0x9a, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbd, + 0xd0, 0xb8, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, + 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xb9, + 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, + 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, 0xd0, 0xb2, 0xd1, 0x8f, + 0xd0, 0xb7, 0xd1, 0x8c, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, + 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x81, + 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0x9a, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xa4, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, + 0xd0, 0xbc, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd, 0xd0, 0xba, 0xd0, 0xb5, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xbf, 0xd0, 0xbe, + 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd1, 0x82, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, + 0x8f, 0xd1, 0x87, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8f, 0xd1, 0x86, + 0xd1, 0x86, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x82, 0xd1, 0x80, 0xd1, 0x82, 0xd1, + 0x80, 0xd1, 0x83, 0xd0, 0xb4, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xbc, + 0xd1, 0x8b, 0xd1, 0x85, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd, 0xd0, 0xba, 0xd0, + 0xb0, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd0, 0xb9, 0xd1, 0x87, + 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x84, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8c, + 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, + 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbc, 0xd0, 0xb5, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xba, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb8, 0xd1, 0x85, + 0xd0, 0xbc, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, + 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, + 0xd1, 0x8e, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x80, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x81, + 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, + 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x86, + 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0x90, 0xd1, 0x80, + 0xd1, 0x85, 0xd0, 0xb8, 0xd0, 0xb2, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, + 0xaf, 0xd9, 0x89, 0xd8, 0xa5, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, + 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, + 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, + 0x8a, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb6, + 0xd9, 0x88, 0xd8, 0xa5, 0xd8, 0xb6, 0xd8, 0xa7, 0xd9, 0x81, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd8, 0xb3, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x85, 0xd9, + 0x8a, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x81, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd9, 0x85, 0xd9, 0x84, 0xd8, 0xaa, 0xd9, 0x82, 0xd9, 0x89, 0xd8, 0xaa, 0xd8, + 0xb9, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, + 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa3, 0xd8, 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xaa, 0xd8, 0xb7, 0xd9, 0x88, 0xd9, 0x8a, 0xd8, 0xb1, 0xd8, 0xb9, + 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa5, 0xd8, 0xb1, 0xd9, + 0x81, 0xd8, 0xa7, 0xd9, 0x82, 0xd8, 0xb7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xa7, + 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x84, 0xd8, 0xba, 0xd8, 0xa9, 0xd8, + 0xaa, 0xd8, 0xb1, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, + 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, + 0x8a, 0xd8, 0xae, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, + 0x84, 0xd9, 0x82, 0xd8, 0xb5, 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x87, 0xd8, + 0xa7, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xab, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb9, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, + 0xd8, 0xa9, 0xd9, 0x8a, 0xd9, 0x85, 0xd9, 0x83, 0xd9, 0x86, 0xd9, 0x83, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xb7, 0xd9, 0x81, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x8a, + 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x88, 0xd8, 0xa5, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xa9, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xae, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd8, 0xad, 0xd8, 0xa9, 0xd8, 0xaa, 0xd8, + 0xb3, 0xd8, 0xac, 0xd9, 0x8a, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x88, + 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xaf, 0xd9, 0x85, 0xd8, + 0xa7, 0xd9, 0x85, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa9, 0xd8, 0xaa, + 0xd8, 0xb5, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa3, 0xd8, 0xb1, 0xd8, + 0xb4, 0xd9, 0x8a, 0xd9, 0x81, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x8a, + 0xd9, 0x86, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, + 0xa8, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa3, 0xd9, 0x84, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, + 0x81, 0xd8, 0xb1, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd9, 0x83, 0xd9, 0x84, + 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa3, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, + 0xd9, 0x86, 0xd8, 0xa9, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd8, + 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd8, 0xad, 0xd9, 0x81, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x86, 0xd9, 0x83, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd8, 0xa7, + 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x81, 0xd8, + 0xa3, 0xd8, 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd9, 0x83, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd9, + 0x8a, 0xd8, 0xb1, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xa6, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa3, 0xd8, 0xaf, 0xd8, 0xa8, 0xd9, 0x85, 0xd9, 0x82, 0xd8, 0xa7, + 0xd8, 0xb7, 0xd8, 0xb9, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, + 0x84, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xb7, 0xd9, 0x82, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb1, 0xd8, 0xac, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xb4, 0xd8, 0xaa, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd8, 0xaf, 0xd9, 0x85, 0xd9, + 0x8a, 0xd8, 0xb9, 0xd8, 0xb7, 0xd9, 0x8a, 0xd9, 0x83, 0x73, 0x42, 0x79, 0x54, + 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, + 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x31, 0x70, 0x78, 0x20, 0x73, 0x6f, 0x6c, 0x69, + 0x64, 0x20, 0x23, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, + 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x6f, 0x6e, 0x63, + 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, + 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, + 0x64, 0x61, 0x73, 0x68, 0x3b, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x3c, + 0x2f, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x65, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x3a, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, + 0x30, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x65, 0x76, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x72, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x75, 0x72, 0x6c, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x73, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x6e, 0x6f, + 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x50, 0x47, 0x7c, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x7c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, + 0x65, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x3c, 0x6c, 0x69, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x75, 0x6e, 0x64, 0x72, + 0x65, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x0a, 0x0a, 0x48, 0x6f, 0x77, 0x65, 0x76, + 0x65, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, + 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x69, + 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, + 0x61, 0x6e, 0x64, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x26, 0x6c, 0x74, + 0x3b, 0x73, 0x75, 0x70, 0x26, 0x67, 0x74, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x76, 0x65, 0x72, 0x73, 0x79, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6c, + 0x61, 0x6e, 0x64, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3d, 0x22, + 0x73, 0x77, 0x69, 0x74, 0x7a, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x73, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x68, + 0x6f, 0x75, 0x67, 0x68, 0x20, 0x3c, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, + 0x65, 0x61, 0x3e, 0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x62, 0x69, 0x72, + 0x64, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x26, + 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x64, 0x61, 0x73, 0x68, 0x3b, 0x73, 0x70, 0x65, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x6c, 0x65, 0x67, 0x69, 0x73, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, + 0x63, 0x73, 0x0a, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x72, 0x72, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x64, 0x36, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, + 0x22, 0x73, 0x61, 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x3b, 0x63, + 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x69, 0x73, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, + 0x20, 0x66, 0x6f, 0x72, 0x69, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x62, 0x65, 0x41, 0x66, 0x67, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x77, 0x61, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, + 0x74, 0x68, 0x2e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x73, 0x75, 0x72, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x6e, 0x20, 0x61, 0x6c, + 0x73, 0x6f, 0x20, 0x62, 0x65, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x3c, + 0x68, 0x32, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x76, 0x61, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x28, 0x29, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x44, 0x65, 0x73, 0x70, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x22, 0x3e, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x6e, 0x73, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x78, 0x61, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x2e, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x65, 0x61, 0x63, 0x68, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x64, + 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x6f, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, + 0x45, 0x61, 0x73, 0x74, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x3c, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, + 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x20, 0x44, + 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x66, 0x61, 0x6d, + 0x6f, 0x75, 0x73, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x73, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x74, 0x79, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x22, 0x3e, 0x0a, 0x3c, 0x74, 0x64, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x64, 0x6f, + 0x63, 0x74, 0x72, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x6f, 0x63, 0x63, 0x75, + 0x70, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x6e, 0x61, 0x69, 0x73, 0x73, 0x61, + 0x6e, 0x63, 0x65, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x65, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x64, 0x65, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, + 0x63, 0x3d, 0x22, 0x2f, 0x3c, 0x68, 0x31, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x3c, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x3e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, + 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x61, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x73, + 0x74, 0x6f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x6f, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x79, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x28, 0x65, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x74, 0x64, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x3b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x30, 0x30, + 0x25, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x3c, + 0x68, 0x33, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x20, 0x6f, 0x6e, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x3d, 0x22, 0x29, 0x2e, 0x61, 0x64, 0x64, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x64, 0x61, 0x75, 0x67, 0x68, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x62, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x0d, 0x0a, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x72, 0x67, 0x65, 0x73, 0x74, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x3c, 0x68, 0x65, 0x61, + 0x64, 0x3e, 0x0a, 0x3c, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, + 0x22, 0x31, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, + 0x20, 0x73, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, + 0x73, 0x20, 0x61, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x65, + 0x20, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x77, 0x61, 0x73, 0x20, 0x77, + 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x21, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6e, 0x74, 0x3b, 0x70, 0x78, 0x3b, 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x2d, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x64, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6d, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x3c, 0x68, 0x34, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x67, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x4e, 0x6f, 0x76, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x72, 0x73, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x65, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x6d, 0x6f, 0x73, + 0x74, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x77, 0x69, 0x64, 0x65, 0x6c, + 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x49, 0x74, + 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x74, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x72, 0x79, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, + 0x6e, 0x74, 0x73, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x63, 0x68, 0x6f, 0x6c, 0x61, 0x72, 0x73, 0x68, 0x69, 0x70, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x20, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x70, 0x78, 0x3b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x61, 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, + 0x65, 0x20, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x6f, 0x6c, 0x65, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x73, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, + 0x66, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x3d, 0x22, 0x68, 0x69, 0x67, 0x68, 0x20, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x63, 0x6f, + 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x72, 0x65, 0x65, 0x20, + 0x79, 0x65, 0x61, 0x72, 0x73, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x69, 0x6e, 0x20, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, + 0x79, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x3c, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x69, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, + 0x6f, 0x66, 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x53, 0x4f, 0x2d, 0x38, 0x38, 0x35, 0x39, 0x2d, 0x31, 0x22, 0x77, 0x61, + 0x73, 0x20, 0x62, 0x6f, 0x72, 0x6e, 0x20, 0x69, 0x6e, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x69, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x3a, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x69, 0x67, + 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x63, 0x65, 0x6c, 0x65, 0x62, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x2f, 0x6a, 0x73, 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x69, 0x73, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, + 0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x74, + 0x61, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x69, 0x74, 0x20, 0x63, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x62, + 0x65, 0x65, 0x6e, 0x0d, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, + 0x3c, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x54, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x68, 0x65, 0x20, + 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, + 0x70, 0x68, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, 0x6f, 0x20, 0x73, + 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x74, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x62, + 0x65, 0x6c, 0x69, 0x65, 0x66, 0x20, 0x74, 0x68, 0x61, 0x74, 0x70, 0x68, 0x6f, + 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x20, 0x6f, 0x66, 0x20, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, + 0x6f, 0x66, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79, + 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x74, 0x65, + 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x6c, 0x65, 0x61, 0x76, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x63, 0x75, 0x6c, 0x61, 0x72, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x69, 0x74, + 0x79, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x70, 0x61, 0x72, + 0x74, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x65, 0x6d, 0x70, 0x68, 0x61, + 0x73, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x73, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x64, 0x65, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x74, 0x20, 0x69, + 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x22, 0x3e, 0x3c, 0x2f, 0x69, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x3e, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x73, 0x3a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x6f, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x76, 0x69, 0x65, 0x77, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x73, 0x65, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x59, + 0x6f, 0x72, 0x6b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, + 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x6e, 0x63, + 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x3b, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, + 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x6f, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x22, 0x3e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x68, 0x65, 0x72, 0x4d, + 0x75, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x3d, 0x22, 0x32, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x6d, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x65, 0x64, 0x75, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x3d, 0x22, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, + 0x66, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f, + 0x44, 0x54, 0x44, 0x20, 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x79, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x64, 0x65, 0x73, 0x70, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x20, 0x6c, 0x65, + 0x67, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x69, 0x6e, 0x6e, + 0x65, 0x72, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x75, 0x72, 0x65, 0x77, 0x61, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x69, + 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x74, 0x79, 0x65, 0x61, + 0x72, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x2c, 0x73, 0x61, 0x6e, 0x73, + 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x66, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x62, 0x72, + 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x3a, 0x31, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, + 0x6f, 0x66, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x20, + 0x68, 0x69, 0x73, 0x20, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x61, 0x6e, 0x6e, 0x69, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x72, 0x79, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x20, 0x69, 0x6e, 0x6e, 0x6f, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6e, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x6f, 0x47, 0x4d, 0x54, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x41, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x69, 0x6d, 0x67, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x77, 0x61, + 0x73, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, + 0x69, 0x73, 0x68, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x68, 0x65, 0x20, 0x77, 0x61, + 0x73, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x74, + 0x65, 0x72, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x6e, + 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x72, 0x67, 0x75, 0x65, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, + 0x69, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x77, 0x69, 0x64, 0x65, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x20, + 0x77, 0x65, 0x72, 0x65, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x73, 0x63, + 0x72, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x6e, 0x20, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, + 0x6e, 0x74, 0x73, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x6c, 0x65, 0x67, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61, + 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, + 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x79, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x61, 0x72, 0x67, 0x75, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x70, 0x72, 0x65, 0x64, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x6e, 0x74, 0x74, 0x68, 0x65, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x6c, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x63, + 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x2d, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x3c, 0x2f, 0x73, 0x70, 0x61, + 0x6e, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x76, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x74, 0x74, + 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x68, 0x61, 0x64, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x2c, 0x3c, 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x22, + 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x33, 0x49, 0x6e, 0x64, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x2d, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, + 0x68, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6f, + 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x77, 0x6f, 0x20, 0x6f, 0x72, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x3c, 0x2f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x62, 0x65, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x66, + 0x69, 0x6e, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x73, 0x69, + 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x73, 0x75, + 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x20, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x73, 0x73, 0x69, + 0x70, 0x70, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, + 0x79, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x62, + 0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x77, 0x68, 0x61, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x73, 0x69, 0x74, 0x75, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x54, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x61, 0x74, 0x6d, 0x6f, + 0x73, 0x70, 0x68, 0x65, 0x72, 0x69, 0x63, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2e, 0x70, 0x68, 0x70, 0x3f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x64, 0x48, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, + 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x66, + 0x61, 0x76, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3c, + 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x54, 0x68, 0x69, + 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6d, 0x61, + 0x64, 0x65, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x65, 0x6d, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x50, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x69, 0x61, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x69, 0x74, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x62, 0x75, 0x74, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x76, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x69, + 0x6c, 0x79, 0x49, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x2c, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6b, 0x65, 0x73, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x75, 0x62, 0x64, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, + 0x79, 0x77, 0x61, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x6c, 0x79, 0x6f, + 0x75, 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x73, 0x74, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, + 0x6f, 0x67, 0x3d, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, + 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x6e, 0x75, + 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x62, 0x65, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, + 0x22, 0x3e, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x77, 0x61, 0x73, 0x20, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x74, + 0x6f, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x61, 0x62, 0x65, 0x63, + 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, + 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, + 0x6c, 0x20, 0x61, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x61, 0x6d, + 0x6f, 0x6e, 0x67, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x6f, + 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, + 0x31, 0x30, 0x30, 0x25, 0x3b, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, + 0x64, 0x74, 0x6f, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x20, 0x62, 0x69, 0x72, 0x74, 0x68, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x63, 0x75, 0x74, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x3b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x3d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x42, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x71, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x20, 0x6f, 0x66, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x20, + 0x2f, 0x3e, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, + 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0d, 0x0a, + 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x6c, 0x79, 0x2c, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3d, 0x22, 0x31, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x6c, + 0x79, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x63, 0x69, 0x74, 0x69, 0x7a, + 0x65, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, + 0x69, 0x61, 0x6e, 0x73, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x73, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x20, 0x61, 0x73, + 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x3c, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, + 0x6f, 0x77, 0x6e, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69, + 0x73, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, 0x73, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x63, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x74, 0x65, 0x74, 0x68, 0x65, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, + 0x64, 0x65, 0x6c, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x22, 0x3e, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x79, 0x20, 0x61, 0x72, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x6c, 0x79, 0x61, 0x20, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x0d, 0x0a, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x0d, + 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x66, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x77, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x65, 0x72, 0x22, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, + 0x65, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, + 0x68, 0x65, 0x69, 0x72, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x44, 0x75, 0x72, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x29, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x62, 0x65, 0x67, 0x69, + 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, + 0x65, 0x6e, 0x74, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, + 0x64, 0x65, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x61, + 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x73, 0x20, + 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x62, 0x79, 0x6e, 0x65, 0x65, 0x64, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, + 0x75, 0x73, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x74, 0x2d, 0x64, 0x61, 0x79, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, + 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x73, 0x20, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x61, 0x64, + 0x65, 0x77, 0x61, 0x73, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x62, 0x75, 0x74, + 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x4d, 0x6f, 0x75, + 0x73, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x61, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x20, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x61, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x20, 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, + 0x6f, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x74, 0x73, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x6d, 0x75, 0x63, + 0x68, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x0a, 0x09, 0x3c, 0x2f, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6f, 0x66, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x77, 0x61, + 0x73, 0x20, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x72, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6e, 0x75, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x77, 0x61, 0x72, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x62, + 0x79, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, + 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x6d, 0x69, 0x6c, + 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x65, + 0x74, 0x61, 0x72, 0x79, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x69, 0x6f, 0x75, 0x73, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x6f, 0x20, 0x6d, + 0x61, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x49, 0x74, 0x20, 0x77, 0x61, 0x73, + 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x69, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x6f, 0x72, + 0x73, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x2e, 0x53, 0x2e, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x62, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, + 0x69, 0x6e, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x72, 0x65, 0x73, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x31, 0x73, 0x74, 0x20, 0x45, 0x61, 0x72, 0x6c, 0x20, 0x6f, 0x66, 0x63, + 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x70, 0x72, 0x69, + 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x2f, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x63, 0x61, + 0x6e, 0x20, 0x62, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, + 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x61, 0x72, + 0x65, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x64, 0x64, 0x46, 0x61, 0x76, + 0x6f, 0x72, 0x69, 0x74, 0x65, 0x63, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x73, + 0x68, 0x69, 0x70, 0x70, 0x61, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, + 0x6e, 0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x74, 0x6f, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x26, 0x61, 0x6d, 0x70, 0x3b, + 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x3b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x6c, 0x61, 0x79, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, + 0x30, 0x22, 0x20, 0x69, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x20, 0x62, 0x6f, 0x6f, + 0x6b, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x66, + 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, + 0x2f, 0x74, 0x64, 0x3e, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x69, 0x64, 0x65, 0x61, 0x20, 0x6f, 0x66, + 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x77, 0x65, + 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x62, 0x74, 0x6e, 0x64, 0x61, 0x79, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x73, 0x68, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x69, + 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x68, + 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x6c, 0x79, 0x68, 0x61, 0x73, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e, + 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x73, 0x6f, 0x6d, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x2c, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, + 0x65, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x62, 0x6c, 0x61, 0x63, 0x6b, + 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6d, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x27, 0x73, 0x63, 0x61, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x67, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x2c, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x63, 0x69, 0x74, + 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0d, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x72, 0x61, 0x64, 0x69, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x79, 0x68, 0x69, 0x73, 0x20, 0x66, 0x61, + 0x74, 0x68, 0x65, 0x72, 0x2c, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, + 0x75, 0x6c, 0x64, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x61, + 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x69, 0x74, 0x75, 0x74, 0x65, 0x73, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x65, 0x72, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, + 0x69, 0x3e, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x66, 0x65, + 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x64, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x64, 0x74, 0x68, 0x70, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x4c, 0x65, 0x67, 0x69, 0x73, 0x6c, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x74, 0x6c, 0x79, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, + 0x6e, 0x68, 0x61, 0x73, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, + 0x6f, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, + 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, + 0x2c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x68, 0x65, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x72, 0x6f, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68, 0x69, + 0x6c, 0x64, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x77, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x53, 0x6f, + 0x6d, 0x65, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x69, 0x64, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, + 0x65, 0x72, 0x73, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x6c, 0x69, 0x76, + 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, + 0x67, 0x68, 0x20, 0x69, 0x74, 0x77, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, + 0x73, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x65, 0x63, 0x6f, + 0x6e, 0x6f, 0x6d, 0x79, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, + 0x73, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, + 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6e, + 0x64, 0x20, 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x72, 0x69, 0x73, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x74, + 0x68, 0x65, 0x6f, 0x72, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x73, 0x20, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x68, 0x65, 0x73, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x6d, 0x61, + 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, 0x61, 0x72, 0x65, 0x61, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x20, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x54, + 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, + 0x3d, 0x32, 0x20, 0x7c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, + 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x72, + 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x43, 0x68, 0x72, 0x69, + 0x73, 0x74, 0x69, 0x61, 0x6e, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x6f, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x54, + 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x6d, 0x65, 0x72, + 0x63, 0x68, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x65, 0x66, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x20, 0x65, 0x76, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x6f, 0x66, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, + 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x63, 0x6f, + 0x6d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2c, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x62, 0x6c, + 0x65, 0x6d, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x20, 0x66, 0x65, 0x77, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x75, + 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6f, 0x66, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f, + 0x72, 0x6e, 0x69, 0x61, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x61, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x6d, + 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x09, 0x09, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x74, 0x22, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x20, 0x6f, 0x66, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, + 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x69, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x76, 0x3e, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x09, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x2f, 0x77, 0x61, 0x73, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x61, 0x73, 0x20, 0x73, + 0x65, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x73, 0x74, 0x65, 0x61, + 0x63, 0x68, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x73, + 0x20, 0x6f, 0x66, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x61, + 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, + 0x73, 0x74, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, + 0x61, 0x6e, 0x64, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x62, 0x65, + 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f, 0x69, 0x73, 0x20, 0x61, + 0x6c, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x20, 0x61, 0x6e, 0x64, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2c, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, + 0x73, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, + 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2e, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, + 0x65, 0x20, 0x61, 0x73, 0x74, 0x6f, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x73, 0x74, 0x20, 0x74, 0x6f, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x4f, 0x66, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x68, 0x69, + 0x73, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, 0x69, 0x73, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x67, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, + 0x2f, 0x6c, 0x69, 0x3e, 0x54, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x66, + 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x57, 0x65, 0x73, 0x74, 0x74, 0x68, 0x65, 0x79, 0x20, 0x73, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0xc4, 0x8d, + 0x69, 0x6e, 0x61, 0x63, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, + 0x73, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x64, 0x61, 0x64, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x74, 0x65, 0x63, 0x6e, 0x6f, 0x6c, 0x6f, + 0x67, 0xc3, 0xad, 0x61, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0x70, 0x75, 0x6e, 0x74, 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, + 0x61, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x73, 0x65, 0xc3, 0xb1, 0x61, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0xc3, 0xad, 0x61, 0x73, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x72, 0x73, 0x65, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x61, 0x6d, 0x69, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x65, 0x67, 0xc3, 0xad, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x61, 0x72, 0xc3, 0xad, 0x61, 0x70, 0x72, 0x69, + 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6e, 0x74, 0x65, 0x73, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, + 0x69, 0x61, 0x70, 0x6f, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x64, 0x61, 0x64, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x72, + 0x65, 0x63, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x65, + 0x73, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x73, 0x75, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x69, 0x72, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x63, 0x69, + 0xc3, 0xb3, 0x6e, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x6e, 0x69, 0x62, 0x6c, 0x65, + 0x73, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x65, + 0x73, 0x74, 0x75, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x65, 0x73, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x67, 0x75, 0x61, 0x64, 0x61, 0x6c, 0x61, + 0x6a, 0x61, 0x72, 0x61, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x64, + 0x6f, 0x73, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, + 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x73, 0x66, 0x6f, + 0x74, 0x6f, 0x67, 0x72, 0x61, 0x66, 0xc3, 0xad, 0x61, 0x61, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x69, + 0x65, 0x72, 0xc3, 0xad, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, + 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x65, 0x6e, 0x63, 0x69, + 0x61, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x65, + 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x69, 0x64, 0x6f, 0x73, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x76, 0x65, 0x67, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x64, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x3a, + 0x22, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x69, + 0x6e, 0x6b, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x2f, 0x3c, 0x21, + 0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, 0x0a, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x70, 0x78, 0x3b, 0x20, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x68, 0x69, 0x70, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x3c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x3d, + 0x22, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x3c, 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x2f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x20, 0x21, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x3b, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x75, 0x61, 0x6c, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x31, + 0x38, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x61, 0x6e, + 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x73, + 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x62, 0x72, + 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x39, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x69, 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, + 0x79, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, + 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x79, 0x2f, + 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x75, 0x6e, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x27, 0x29, 0x46, 0x75, 0x72, 0x74, + 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x2c, 0x62, 0x65, 0x6c, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x48, + 0x54, 0x4d, 0x4c, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x64, 0x72, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x68, 0x65, 0x61, 0x64, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x73, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, + 0x75, 0x6e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x50, + 0x65, 0x6e, 0x6e, 0x73, 0x79, 0x6c, 0x76, 0x61, 0x6e, 0x69, 0x61, 0x41, 0x73, + 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2c, 0x3c, 0x68, 0x74, + 0x6d, 0x6c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x26, 0x6c, 0x74, 0x3b, + 0x2f, 0x73, 0x75, 0x70, 0x26, 0x67, 0x74, 0x3b, 0x64, 0x65, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x70, 0x68, 0x69, 0x6c, 0x61, 0x64, + 0x65, 0x6c, 0x70, 0x68, 0x69, 0x61, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x0a, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x74, + 0x6f, 0x70, 0x3a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x70, + 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3d, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x7b, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x2e, 0x64, 0x74, + 0x64, 0x22, 0x3e, 0x0d, 0x0a, 0x3c, 0x68, 0x74, 0x67, 0x65, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x69, + 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x61, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x31, + 0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x45, 0x6e, + 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x61, 0x69, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x64, 0x65, 0x6d, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x61, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x74, 0x69, 0x65, 0x73, 0x44, 0x65, 0x6d, 0x6f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x69, 0x63, 0x73, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x3c, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x20, + 0x6f, 0x66, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x45, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x28, 0x55, 0x53, 0x29, 0x61, 0x70, + 0x70, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x28, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x48, + 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6c, + 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x20, 0x74, 0x61, 0x62, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x3b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x77, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, + 0x65, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x6e, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x61, 0x3b, + 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x6a, 0x75, + 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x3c, 0x61, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x49, 0x6e, 0x20, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6c, 0x6c, 0x79, 0x72, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x3d, 0x22, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, + 0x67, 0x26, 0x6c, 0x74, 0x3b, 0x6d, 0x61, 0x74, 0x68, 0x26, 0x67, 0x74, 0x3b, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, + 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x69, + 0x6d, 0x67, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x6e, 0x61, 0x76, + 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6d, 0x70, + 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, + 0x22, 0x61, 0x6c, 0x6c, 0x22, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x74, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, + 0x75, 0x65, 0x3b, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2f, 0x2f, 0x45, 0x4e, + 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x43, 0x68, 0x61, + 0x6d, 0x70, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x3c, 0x21, 0x5b, 0x65, 0x6e, + 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x7d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2c, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, + 0x28, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x75, 0x6e, + 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x68, 0x65, + 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x2f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x47, + 0x75, 0x69, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x61, 0x67, 0x61, + 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x0a, 0x2e, 0x6e, 0x6f, + 0x6e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x66, 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x31, + 0x70, 0x78, 0x20, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, + 0x3a, 0x31, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x30, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x69, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x61, 0x63, 0x68, 0x69, + 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x73, 0x74, 0x61, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x74, 0x68, + 0x65, 0x6c, 0x65, 0x73, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, 0x74, + 0x64, 0x3e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, + 0x0a, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x61, + 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x72, + 0x63, 0x3d, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6e, 0x61, 0x76, + 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x70, 0x6f, 0x6c, 0x69, 0x74, + 0x61, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x65, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x3a, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, + 0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x76, + 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6d, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x65, 0x67, 0x69, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x4a, 0x65, 0x73, 0x75, 0x73, 0x20, + 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x64, 0x69, 0x73, 0x61, 0x67, 0x72, 0x65, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x3a, 0x72, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x29, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, + 0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x73, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x6d, 0x61, 0x6e, 0x79, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x3a, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x65, 0x74, 0x09, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x68, 0x6f, 0x6f, 0x64, 0x61, + 0x72, 0x6d, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x73, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x4e, 0x6f, 0x6e, 0x65, + 0x74, 0x68, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x74, 0x65, 0x6d, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x0a, 0x09, 0x09, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x69, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x28, 0x73, 0x65, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, + 0x29, 0x2e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x09, 0x09, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x0a, 0x09, 0x09, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x61, 0x6c, 0x6c, 0x20, 0x6f, + 0x66, 0x20, 0x46, 0x61, 0x6d, 0x65, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, 0x78, + 0x74, 0x2f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x79, 0x65, 0x61, 0x72, + 0x73, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x76, 0x65, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x7b, + 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x74, 0x72, + 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x6f, 0x6d, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x20, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x3e, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x62, + 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x09, 0x3c, 0x6c, 0x69, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x6f, 0x76, 0x69, 0x65, 0x74, 0x20, 0x55, + 0x6e, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x64, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x20, + 0x62, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, + 0x20, 0x66, 0x61, 0x63, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x6c, 0x69, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x61, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x69, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x63, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x62, + 0x62, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, + 0x72, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, + 0x20, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x72, 0x63, 0x3d, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x70, 0x78, 0x3b, 0x20, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x72, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x2f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x68, + 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x73, 0x6e, 0x61, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x61, 0x72, 0x65, 0x20, + 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x73, 0x6d, 0x61, 0x6c, 0x6c, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x67, 0x75, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x6e, 0x6f, 0x77, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x20, 0x61, 0x73, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x61, 0x72, + 0x6c, 0x79, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x53, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x61, 0x76, 0x69, 0x61, 0x6e, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, + 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, + 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x67, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x6f, 0x75, + 0x73, 0x20, 0x74, 0x6f, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x2f, 0x75, 0x6c, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x0a, 0x77, 0x61, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x61, + 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x74, + 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x77, 0x61, + 0x73, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x6e, 0x6f, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x72, 0x65, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x3e, 0x0d, 0x0a, 0x3c, 0x68, 0x65, + 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x3c, 0x77, 0x65, 0x72, 0x65, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x6c, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, + 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x61, 0x6e, + 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x68, 0x6f, 0x77, + 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x79, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, + 0x69, 0x73, 0x6d, 0x20, 0x6f, 0x66, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x6c, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x29, 0x7b, 0x49, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, + 0x65, 0x61, 0x6e, 0x20, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x64, + 0x69, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x62, 0x65, 0x74, + 0x74, 0x65, 0x72, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x61, 0x72, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x66, 0x6c, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x73, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x78, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x3d, 0x22, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x6f, 0x6c, 0x64, + 0x3b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x69, + 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x69, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x57, 0x6f, 0x72, 0x6c, + 0x64, 0x20, 0x57, 0x61, 0x72, 0x20, 0x49, 0x49, 0x74, 0x65, 0x73, 0x74, 0x69, + 0x6d, 0x6f, 0x6e, 0x69, 0x61, 0x6c, 0x73, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x79, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74, + 0x68, 0x65, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x6e, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x73, 0x73, 0x22, 0x20, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x6f, 0x6e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x77, 0x61, 0x73, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, + 0x73, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x63, + 0x6f, 0x6d, 0x70, 0x72, 0x69, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x6e, + 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x75, 0x70, + 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x62, + 0x65, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x20, 0x62, 0x65, 0x63, + 0x61, 0x6d, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x3e, + 0x3c, 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x65, 0x76, + 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x61, + 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x61, 0x20, 0x77, 0x69, 0x64, 0x65, 0x20, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x6f, 0x66, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, + 0x22, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x3c, + 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x73, 0x61, + 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x77, 0x68, 0x69, 0x6c, + 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x68, 0x79, 0x70, 0x6f, 0x74, + 0x68, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, + 0x6f, 0x70, 0x68, 0x65, 0x72, 0x73, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x69, 0x6e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x74, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, + 0x6e, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x74, + 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x72, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x6f, + 0x62, 0x61, 0x62, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x65, 0x74, + 0x77, 0x65, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x6f, 0x72, + 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x4f, 0x63, 0x65, 0x61, 0x6e, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x27, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x79, 0x65, 0x61, + 0x72, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x72, 0x65, + 0x6d, 0x65, 0x6c, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, + 0x0a, 0x61, 0x6e, 0x20, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x6f, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x73, 0x70, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x74, 0x68, 0x65, 0x20, + 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, + 0x65, 0x78, 0x74, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x61, 0x6e, + 0x64, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x61, + 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x67, 0x69, 0x76, + 0x65, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x78, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, + 0x61, 0x73, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x6f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, + 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, + 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x73, 0x22, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x72, 0x74, + 0x68, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x62, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x73, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, + 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x73, 0x75, + 0x70, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x69, 0x73, 0x20, 0x6d, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x6e, 0x79, 0x69, 0x6e, 0x67, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x61, 0x74, 0x73, 0x74, 0x75, 0x64, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, + 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x72, 0x65, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x61, 0x6e, 0x64, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x64, 0x65, 0x66, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x79, 0x20, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x67, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x75, 0x64, 0x79, 0x20, 0x6f, + 0x66, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, 0x65, 0x20, 0x77, 0x61, 0x73, 0x3c, 0x6c, + 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x68, 0x65, 0x20, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x3a, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, + 0x6f, 0x66, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x3e, 0x52, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, 0x65, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x49, + 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x2c, 0x68, 0x6f, + 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x20, + 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x61, 0x6e, 0x64, 0x20, + 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x66, 0x65, 0x28, 0x61, 0x6c, 0x73, 0x6f, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x3e, 0x3c, 0x75, 0x6c, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x79, 0x20, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x6f, 0x73, 0x65, 0x65, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x68, + 0x61, 0x76, 0x65, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, + 0x6f, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, 0x62, 0x79, 0x49, 0x6e, + 0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x72, 0x65, 0x66, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, + 0x79, 0x20, 0x61, 0x6e, 0x64, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x61, + 0x6c, 0x6c, 0x79, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, + 0x6e, 0x67, 0x61, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, + 0x79, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x76, 0x65, 0x72, + 0x28, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x63, + 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x65, 0x76, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x61, 0x6e, 0x20, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x6f, 0x72, 0x74, 0x68, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x77, 0x69, 0x73, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x6f, 0x66, 0x68, 0x61, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x6f, 0x66, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x64, + 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x61, 0x72, + 0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x63, 0x6f, 0x72, + 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x61, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x70, + 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x74, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20, 0x6f, 0x66, + 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x79, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x69, 0x7a, 0x65, 0x64, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x78, 0x74, 0x77, 0x61, 0x73, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x72, 0x65, 0x61, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x69, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69, + 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x6e, 0x73, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x74, 0x77, 0x6f, + 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x63, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, + 0x65, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x31, 0x2f, 0x5e, 0x5c, 0x73, 0x2b, + 0x7c, 0x5c, 0x73, 0x2b, 0x24, 0x2f, 0x67, 0x65, 0x29, 0x7b, 0x74, 0x68, 0x72, + 0x6f, 0x77, 0x20, 0x65, 0x7d, 0x3b, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x77, 0x6f, 0x20, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, + 0x61, 0x6e, 0x64, 0x77, 0x68, 0x6f, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x64, 0x65, 0x61, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x09, + 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x67, 0x6c, 0x69, + 0x73, 0x68, 0x20, 0x28, 0x55, 0x4b, 0x29, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x20, 0x28, 0x55, 0x53, 0x29, 0xd0, 0x9c, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, + 0xb3, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xa1, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, + 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, 0xd0, + 0xba, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, 0xd0, 0xba, + 0xd0, 0xbe, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, + 0xa9, 0xe6, 0xad, 0xa3, 0xe9, 0xab, 0x94, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, + 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0xe7, + 0xb9, 0x81, 0xe4, 0xbd, 0x93, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0xe6, 0x9c, + 0x89, 0xe9, 0x99, 0x90, 0xe5, 0x85, 0xac, 0xe5, 0x8f, 0xb8, 0xe4, 0xba, 0xba, + 0xe6, 0xb0, 0x91, 0xe6, 0x94, 0xbf, 0xe5, 0xba, 0x9c, 0xe9, 0x98, 0xbf, 0xe9, + 0x87, 0x8c, 0xe5, 0xb7, 0xb4, 0xe5, 0xb7, 0xb4, 0xe7, 0xa4, 0xbe, 0xe4, 0xbc, + 0x9a, 0xe4, 0xb8, 0xbb, 0xe4, 0xb9, 0x89, 0xe6, 0x93, 0x8d, 0xe4, 0xbd, 0x9c, + 0xe7, 0xb3, 0xbb, 0xe7, 0xbb, 0x9f, 0xe6, 0x94, 0xbf, 0xe7, 0xad, 0x96, 0xe6, + 0xb3, 0x95, 0xe8, 0xa7, 0x84, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x68, 0x65, 0x72, 0x72, 0x61, 0x6d, 0x69, 0x65, 0x6e, + 0x74, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0xc3, 0xb3, 0x6e, 0x69, + 0x63, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x63, 0x69, 0xc3, 0xb3, + 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x64, 0x6f, 0x73, + 0x63, 0x6f, 0x6e, 0x6f, 0x63, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, + 0x6c, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x64, 0x61, 0x73, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0xc3, 0xa1, 0x74, 0x69, 0x63, 0x61, 0x72, 0x65, 0x6c, 0x61, + 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x64, 0x6f, 0x73, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x74, 0x72, 0x61, 0x62, 0x61, 0x6a, + 0x61, 0x64, 0x6f, 0x72, 0x65, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x79, 0x75, 0x6e, 0x74, 0x61, 0x6d, 0x69, + 0x65, 0x6e, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x61, 0x64, 0x6f, 0x4c, 0x69, + 0x62, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0xc3, 0xa1, 0x63, 0x74, 0x65, 0x6e, + 0x6f, 0x73, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, + 0x73, 0x63, 0x75, 0x6d, 0x70, 0x6c, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x73, 0x64, + 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x72, 0xc3, 0xb3, 0x6e, 0x69, 0x63, 0x61, 0x61, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x64, 0x65, 0x73, 0x63, 0x6f, + 0x6e, 0x65, 0x63, 0x74, 0x61, 0x64, 0x6f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x6e, 0x63, 0x69, 0x63, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x69, 0x61, 0x65, 0x6e, 0x66, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x61, 0x64, + 0x65, 0x73, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x6f, + 0x73, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x73, + 0x69, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x73, 0x75, + 0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x61, 0xd1, 0x82, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xa0, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, + 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x8b, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, 0xbb, + 0xd1, 0x8c, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, + 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, + 0xb8, 0xd1, 0x85, 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd0, 0xb0, + 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, + 0x81, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0xa0, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, + 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xb4, + 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, + 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbe, + 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, + 0xbd, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, + 0xd0, 0xb6, 0xd0, 0xbd, 0xd1, 0x8b, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, + 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, + 0xb5, 0xd0, 0xb9, 0xd0, 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb2, + 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd1, + 0x8b, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, + 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, + 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x83, + 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, + 0xb5, 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd1, 0x8c, 0xd0, 0x9e, 0xd0, 0xb4, + 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, + 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, + 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x83, 0xd0, 0xb0, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, + 0xb5, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, + 0xd1, 0x89, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, + 0xb3, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb3, + 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, + 0xb8, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb9, + 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x85, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x88, 0xd0, 0xbe, 0xd0, 0xbf, + 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb2, 0xd1, 0x81, 0xd1, + 0x81, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb0, + 0xd0, 0xb6, 0xd0, 0xb4, 0xd1, 0x8b, 0xd0, 0xb9, 0xd0, 0xb2, 0xd0, 0xbb, 0xd0, + 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb3, 0xd1, 0x80, 0xd1, 0x83, + 0xd0, 0xbf, 0xd0, 0xbf, 0xd1, 0x8b, 0xd0, 0xb2, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, + 0xb0, 0xd0, 0xbb, 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb2, 0xd1, 0x8b, + 0xd0, 0xb9, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, + 0x8c, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd0, 0xb3, 0xd0, 0xb8, + 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, + 0xb1, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x82, 0xd0, 0xba, 0xd1, 0x83, + 0xd0, 0xbf, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, + 0xbb, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, + 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x85, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, + 0xb0, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xa0, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xa2, 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, + 0xba, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, + 0xd0, 0xbc, 0xd0, 0xb2, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, + 0xb9, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb0, + 0xd1, 0x81, 0xd0, 0xbf, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xba, 0xd1, + 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xb1, 0xd1, 0x8b, 0xd1, 0x81, + 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xbf, 0xd0, + 0xb5, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd0, 0xbe, 0xd1, 0x89, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, + 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, + 0xd1, 0x89, 0xd1, 0x8c, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb6, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xba, + 0xd0, 0xb8, 0xd0, 0xb1, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbd, 0xd1, 0x8b, 0xd0, 0xb5, + 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, + 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xba, 0xd1, 0x82, 0xd0, 0xa1, + 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbc, 0xd0, + 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb0, + 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, + 0xbb, 0xd0, 0xb0, 0xd0, 0xb9, 0xd0, 0xbd, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x80, + 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x80, 0xd1, + 0x81, 0xd0, 0xb8, 0xd1, 0x8f, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, + 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x84, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, + 0xbc, 0xd1, 0x8b, 0xd1, 0x83, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbd, + 0xd1, 0x8f, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, + 0x85, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, + 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd1, 0x8e, 0xd1, + 0x8f, 0xd0, 0xbd, 0xd0, 0xb2, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8f, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0xbd, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, + 0xb0, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbb, + 0xd1, 0x8c, 0xd0, 0xb7, 0xd1, 0x8f, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, + 0x83, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xa2, 0xd0, 0xb5, 0xd0, 0xbf, 0xd0, 0xb5, + 0xd1, 0x80, 0xd1, 0x8c, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8f, 0xd1, + 0x86, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x89, 0xd0, 0xb8, 0xd1, 0x82, + 0xd1, 0x8b, 0xd0, 0x9b, 0xd1, 0x83, 0xd1, 0x87, 0xd1, 0x88, 0xd0, 0xb8, 0xd0, + 0xb5, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, + 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0x9f, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xad, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x81, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9f, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0x85, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xae, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0x9d, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbc, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9f, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x95, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, + 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x97, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xa0, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb7, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb5, + 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, + 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, + 0x9a, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0x9a, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x97, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, + 0xa4, 0x9a, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9c, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x9f, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x85, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0x9c, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb5, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, + 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xac, + 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x9c, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, + 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x8c, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa5, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xd8, 0xaa, 0xd8, 0xb3, 0xd8, + 0xaa, 0xd8, 0xb7, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xa8, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, + 0xb3, 0xd8, 0xb7, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x81, + 0xd8, 0xad, 0xd8, 0xa9, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb6, 0xd9, + 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd8, 0xa7, 0xd8, 0xb5, + 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb2, 0xd9, 0x8a, 0xd8, + 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa9, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xaf, 0xd8, 0xa8, + 0xd8, 0xb1, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd9, 0x88, 0xd9, 0x82, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, + 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, + 0xb1, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd9, 0x88, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x87, 0xd8, + 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, 0x8a, 0xd8, 0xa7, + 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, 0x82, 0xd9, 0x88, 0xd9, + 0x82, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xb1, 0xd9, 0x8a, 0xd9, 0x85, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x82, 0xd9, + 0x85, 0xd8, 0xad, 0xd9, 0x81, 0xd9, 0x88, 0xd8, 0xb8, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, + 0xb4, 0xd8, 0xa7, 0xd9, 0x87, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa3, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x82, 0xd8, 0xb1, 0xd8, 0xa2, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, + 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, + 0x88, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xaf, + 0xd9, 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, 0xb3, 0xd8, + 0xb1, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x88, + 0xd9, 0x85, 0xd9, 0x85, 0xd8, 0xac, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xb9, 0xd8, + 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xad, 0xd9, 0x85, 0xd9, 0x86, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x86, 0xd9, 0x82, 0xd8, 0xa7, 0xd8, 0xb7, 0xd9, + 0x81, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, 0xb7, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x88, 0xd9, 0x8a, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaf, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb1, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x8a, + 0xd8, 0xa7, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xaa, 0xd9, 0x88, 0xd9, + 0x82, 0xd9, 0x8a, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x88, + 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xb1, 0xd9, + 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x84, 0xd8, 0xa7, + 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, + 0xb7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, 0xd8, 0xae, 0xd8, 0xb5, 0xd9, 0x8a, + 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb2, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xae, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, + 0xd9, 0x85, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, + 0xa7, 0xd9, 0x85, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd9, 0x85, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, + 0xb9, 0xd8, 0xa9, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd9, 0x87, 0xd8, 0xaf, + 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, + 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd8, 0xae, 0xd9, 0x88, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xb3, + 0xd8, 0xaa, 0xd8, 0xba, 0xd8, 0xb1, 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, + 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, + 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, + 0xb8, 0xd9, 0x8a, 0xd9, 0x85, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x28, 0x29, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x72, 0x79, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x43, + 0x68, 0x69, 0x6c, 0x64, 0x28, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x22, 0x3e, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, + 0x69, 0x63, 0x6f, 0x22, 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, 0x61, 0x73, 0x73, 0x61, 0x63, 0x68, 0x75, + 0x73, 0x65, 0x74, 0x74, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x20, 0x61, 0x73, 0x70, 0x72, 0x6f, 0x6e, 0x75, 0x6e, 0x63, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x3a, 0x23, 0x66, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, + 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x6d, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x61, + 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x26, 0x6c, 0x74, 0x3b, 0x2f, 0x6d, 0x61, 0x74, + 0x68, 0x26, 0x67, 0x74, 0x3b, 0x70, 0x73, 0x79, 0x63, 0x68, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x75, 0x6c, 0x61, 0x72, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x6f, 0x70, 0x70, 0x6f, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x53, 0x75, 0x70, 0x72, 0x65, 0x6d, 0x65, 0x20, + 0x43, 0x6f, 0x75, 0x72, 0x74, 0x6f, 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x41, 0x6d, + 0x65, 0x72, 0x69, 0x63, 0x61, 0x70, 0x78, 0x3b, 0x62, 0x61, 0x63, 0x6b, 0x67, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6f, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x6f, 0x4c, 0x6f, 0x77, 0x65, 0x72, + 0x43, 0x61, 0x73, 0x65, 0x28, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x63, 0x69, 0x6f, 0x75, + 0x73, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x72, 0x72, + 0x61, 0x6e, 0x65, 0x61, 0x6e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x6f, 0x72, 0x64, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x61, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, + 0x6e, 0x73, 0x69, 0x76, 0x65, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x75, 0x6c, 0x3e, 0x0a, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, + 0x68, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x68, 0x72, 0x65, 0x66, 0x77, 0x61, 0x73, 0x20, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x61, 0x6e, 0x20, 0x46, 0x72, 0x61, 0x6e, + 0x63, 0x69, 0x73, 0x63, 0x6f, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x29, 0x7b, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x6f, 0x70, 0x68, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x20, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, + 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x68, 0x69, 0x70, 0x73, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x73, 0x70, 0x61, 0x72, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x47, 0x72, 0x65, 0x61, 0x74, 0x20, 0x42, 0x72, + 0x69, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x3d, 0x22, 0x3b, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, + 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x61, 0x72, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x0a, 0x09, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, + 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x27, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x22, + 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x6f, 0x70, + 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3a, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x3c, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x70, 0x61, 0x72, 0x6c, 0x69, 0x61, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x70, 0x72, 0x65, 0x64, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x7c, 0x26, + 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, + 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x72, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3d, 0x22, 0x6f, 0x67, 0x3a, 0x2f, 0x78, 0x2d, 0x73, 0x68, 0x6f, 0x63, 0x6b, + 0x77, 0x61, 0x76, 0x65, 0x2d, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x74, 0x68, 0x65, + 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x62, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x20, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, + 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x61, 0x63, 0x74, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, + 0x69, 0x64, 0x75, 0x61, 0x6c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x76, 0x69, 0x65, 0x77, 0x68, 0x6f, 0x6d, 0x6f, 0x73, 0x65, 0x78, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x72, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x3a, 0x20, 0x23, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x6e, 0x74, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3d, 0x22, 0x30, 0x22, 0x3e, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x6f, 0x2d, 0x45, 0x75, 0x72, + 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x73, 0x6f, 0x6d, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, + 0x20, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x69, 0x61, 0x6e, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3d, 0x22, 0x30, 0x22, 0x20, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x28, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, + 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x79, 0x2e, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x64, + 0x61, 0x73, 0x68, 0x3b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x6a, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x74, 0x77, 0x6f, 0x20, 0x64, 0x69, 0x66, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x69, 0x64, 0x65, 0x20, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x77, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, 0x64, + 0x61, 0x73, 0x68, 0x3b, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x6f, + 0x76, 0x65, 0x72, 0x3d, 0x22, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x3d, 0x20, + 0x74, 0x72, 0x75, 0x65, 0x3b, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x73, 0x65, 0x65, 0x6d, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x61, 0x72, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x70, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x28, 0x29, 0x20, 0x7b, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x20, 0x69, 0x6e, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, 0x6d, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, + 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x67, 0x72, 0x65, 0x61, 0x74, 0x20, 0x64, 0x65, + 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, + 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x2c, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, + 0x79, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, + 0x69, 0x74, 0x20, 0x69, 0x73, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x72, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x20, 0x74, 0x6f, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x20, 0x62, 0x65, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x27, 0x73, 0x20, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x28, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, + 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, + 0x65, 0x66, 0x74, 0x22, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x62, 0x61, 0x73, 0x69, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x20, 0x6f, 0x66, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, + 0x6f, 0x75, 0x74, 0x3d, 0x22, 0x4e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, + 0x6e, 0x69, 0x74, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x6d, 0x20, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2e, + 0x64, 0x74, 0x64, 0x22, 0x3e, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x61, 0x72, 0x65, 0x75, 0x6e, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x69, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, + 0x61, 0x72, 0x20, 0x74, 0x6f, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, + 0x62, 0x6f, 0x6c, 0x64, 0x3b, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x09, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, + 0x79, 0x20, 0x66, 0x6f, 0x72, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, + 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x20, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, + 0x20, 0x79, 0x65, 0x61, 0x72, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, + 0x79, 0x65, 0x61, 0x72, 0x73, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x09, 0x09, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x39, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x2c, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x20, + 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, + 0x65, 0x66, 0x74, 0x3a, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x73, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x70, 0x61, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x2d, 0x63, + 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, + 0x61, 0x72, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x61, 0x6c, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x61, 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x61, + 0x6c, 0x77, 0x61, 0x79, 0x73, 0x61, 0x72, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, + 0x68, 0x79, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x63, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, + 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, + 0x22, 0x22, 0x20, 0x2f, 0x3e, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, + 0x6e, 0x69, 0x74, 0x65, 0x64, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x64, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x6f, + 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x66, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x69, 0x73, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x69, 0x74, 0x73, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x65, 0x64, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x74, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x61, + 0x64, 0x75, 0x61, 0x74, 0x65, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, + 0x65, 0x20, 0x74, 0x77, 0x6f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x79, 0x2c, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x2e, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x68, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x20, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x61, 0x6c, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x77, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x74, 0x68, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x64, 0x66, 0x72, 0x65, 0x65, 0x20, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x65, 0x64, 0x61, 0x77, 0x61, 0x79, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x74, 0x68, 0x65, 0x79, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x61, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x66, 0x75, 0x6c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x20, 0x61, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x74, 0x79, 0x20, 0x6f, 0x66, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, + 0x68, 0x74, 0x20, 0x74, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x65, 0x6e, 0x64, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x64, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x73, 0x3e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x74, 0x68, 0x65, 0x20, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x44, 0x4f, 0x20, 0x4e, 0x4f, 0x54, 0x20, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x2f, 0x3f, + 0x73, 0x6f, 0x72, 0x74, 0x3d, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x64, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x68, 0x61, 0x73, 0x20, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x79, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, + 0x74, 0x68, 0x6f, 0x73, 0x65, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x73, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, + 0x72, 0x69, 0x63, 0x61, 0x6e, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x61, 0x6d, 0x65, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x6e, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x3b, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x20, 0x61, 0x6e, 0x64, 0x3b, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x62, 0x61, 0x68, 0x61, 0x73, 0x61, 0x20, 0x4d, + 0x65, 0x6c, 0x61, 0x79, 0x75, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x62, 0x6f, + 0x6b, 0x6d, 0xc3, 0xa5, 0x6c, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x6e, 0x79, + 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0xc5, 0xa1, + 0xc4, 0x8d, 0x69, 0x6e, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x63, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x22, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, + 0x67, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6d, 0x75, + 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, + 0x0a, 0x3c, 0x2f, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, + 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, + 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3d, 0x68, 0x74, 0x74, 0x70, + 0x25, 0x33, 0x41, 0x25, 0x32, 0x46, 0x25, 0x32, 0x46, 0x3c, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x2f, 0x66, + 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x7d, + 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, + 0x2e, 0x73, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x28, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x28, 0x29, 0x3b, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, + 0x2d, 0x3e, 0x0d, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x55, 0x6e, 0x66, 0x6f, 0x72, 0x74, 0x75, 0x6e, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x22, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, + 0x3b, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x2f, 0x66, 0x61, 0x76, 0x69, 0x63, + 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x3e, 0x3d, 0x27, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x27, 0x20, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x3c, 0x6c, + 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x61, + 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, + 0x66, 0x70, 0x74, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x22, 0x20, 0x0a, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x29, 0x20, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x41, 0x63, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2e, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x2d, 0x2d, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, + 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x20, 0x4d, 0x69, + 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, + 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, + 0x61, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x74, 0x68, 0x65, 0x20, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x6d, + 0x6f, 0x75, 0x73, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x3d, 0x22, 0x74, 0x68, 0x65, + 0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x68, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x61, 0x73, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, + 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x64, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, + 0x65, 0x72, 0x65, 0x64, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, + 0x2d, 0x2d, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, + 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, + 0x3a, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, + 0x7b, 0x42, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2e, 0x64, 0x74, 0x64, + 0x22, 0x3e, 0x0a, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x61, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x73, 0x29, 0x3b, + 0x20, 0x6a, 0x73, 0x2e, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x69, 0x64, 0x22, 0x20, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x25, 0x22, 0x72, + 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x52, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x43, 0x61, 0x74, 0x68, 0x6f, 0x6c, 0x69, + 0x63, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x74, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x31, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x61, 0x65, 0x6f, + 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x20, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x6a, 0x73, 0x22, 0x3e, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x63, 0x6f, 0x6d, 0x62, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x77, + 0x2e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x28, + 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, + 0x3e, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x61, 0x49, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, + 0x61, 0x72, 0x2c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65, + 0x66, 0x74, 0x22, 0x20, 0x43, 0x7a, 0x65, 0x63, 0x68, 0x20, 0x52, 0x65, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, + 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, + 0x22, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x29, 0x20, 0x7b, 0x63, 0x6f, 0x6d, + 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, + 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, + 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x27, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x0a, + 0x3c, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x28, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x09, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, + 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, 0x76, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, + 0x20, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x20, 0x64, 0x69, 0x6f, 0x78, 0x69, + 0x64, 0x65, 0x0a, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x2d, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x6f, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, + 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, + 0x3e, 0x0d, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x54, 0x69, 0xe1, 0xba, + 0xbf, 0x6e, 0x67, 0x20, 0x56, 0x69, 0xe1, 0xbb, 0x87, 0x74, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30, + 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x3c, 0x77, 0x61, 0x73, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, + 0x74, 0x22, 0x20, 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x63, 0x63, 0x6c, 0x65, 0x73, 0x69, 0x61, + 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, + 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x3c, 0x2f, 0x62, 0x6f, 0x64, + 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x68, 0x61, 0x73, 0x20, + 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x69, 0x6e, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x69, 0x77, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, + 0x65, 0x64, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x2d, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, + 0x6f, 0x74, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, + 0x6c, 0x73, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x6d, 0x61, 0x6e, 0x79, 0x61, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, + 0x72, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6d, 0x70, 0x6f, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x20, 0x48, 0x6f, + 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x41, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x62, + 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x73, + 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x3d, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, + 0x73, 0x74, 0x22, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6c, 0x69, 0x6b, 0x65, + 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c, + 0x73, 0x6f, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x6d, 0x61, 0x6e, + 0x79, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x66, 0x6f, + 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x65, + 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, + 0x73, 0x70, 0x74, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0d, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, + 0x70, 0x22, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, 0x6e, 0x74, + 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x20, 0x79, 0x65, 0x61, 0x72, 0x0d, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, + 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, 0x72, 0x67, 0x75, + 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x67, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x61, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3a, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x72, 0x65, 0x62, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x20, 0x66, 0x6f, 0x72, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x20, 0x3c, + 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61, + 0x77, 0x61, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x3b, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x6f, 0x66, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x3c, 0x73, 0x70, 0x61, 0x6e, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x63, 0x65, + 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, + 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x20, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3c, 0x2f, + 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x61, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x68, 0x61, 0x73, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x65, + 0x6e, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x20, 0x55, 0x6e, 0x69, + 0x6f, 0x6e, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x63, 0x65, 0x6e, 0x74, + 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x63, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, + 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x66, 0x6f, 0x6e, 0x74, 0x2d, + 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x31, 0x70, 0x78, 0x65, 0x78, 0x70, 0x6c, + 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x77, 0x72, + 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x09, + 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x6f, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x73, + 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x28, + 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x29, + 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x6e, + 0x74, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x6f, + 0x70, 0x6c, 0x65, 0x77, 0x65, 0x72, 0x65, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x31, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x64, 0x65, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, + 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f, + 0x66, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x68, + 0x61, 0x76, 0x65, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x77, 0x61, 0x73, 0x20, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x69, 0x65, 0x77, 0x20, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, + 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x63, 0x61, + 0x70, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0d, + 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x78, 0x4d, 0x4c, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x6c, 0x61, + 0x72, 0x67, 0x65, 0x73, 0x74, 0x76, 0x65, 0x72, 0x79, 0x20, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65, + 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x65, 0x73, + 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x69, + 0x73, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x49, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x69, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, + 0x74, 0x65, 0x72, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x3c, 0x73, 0x70, + 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x28, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0d, + 0x69, 0x66, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, + 0x66, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x0a, 0x3c, 0x2f, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, + 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x28, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, + 0x61, 0x6c, 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, + 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3a, 0x23, 0x66, 0x66, 0x66, 0x7d, 0x0a, 0x2e, 0x0a, 0x3c, 0x73, 0x70, + 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x3e, + 0x0d, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x64, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x63, 0x65, 0x6c, 0x65, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x62, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x20, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x6f, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x3c, 0x21, + 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x0a, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x69, + 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20, + 0x6f, 0x66, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x20, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x77, 0x61, 0x73, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x69, 0x73, 0x74, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x6f, 0x6d, + 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x73, + 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x20, + 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x0d, + 0x0a, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x65, 0x73, 0x73, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x65, 0x72, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x69, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x22, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x66, + 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, + 0x6f, 0x66, 0x49, 0x49, 0x2c, 0x20, 0x48, 0x6f, 0x6c, 0x79, 0x20, 0x52, 0x6f, + 0x6d, 0x61, 0x6e, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x69, + 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, + 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x74, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x74, 0x6f, 0x20, 0x65, + 0x6e, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x72, 0x65, 0x20, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x6e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x6e, 0x20, 0x61, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, + 0x2f, 0x75, 0x6c, 0x3e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, + 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x3e, 0x0a, 0x3c, 0x6d, + 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, + 0x72, 0x72, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x62, 0x79, 0x48, + 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, + 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, + 0x66, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, + 0x6c, 0x20, 0x6f, 0x66, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x74, 0x6f, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20, + 0x20, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x68, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x74, 0x79, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x70, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x71, 0x22, 0x09, 0x09, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x72, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x6d, 0x61, + 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, + 0x6e, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x63, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, + 0x6c, 0x61, 0x72, 0x2c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, + 0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x6f, + 0x68, 0x72, 0x76, 0x61, 0x74, 0x73, 0x6b, 0x69, 0x74, 0x69, 0xe1, 0xba, 0xbf, + 0x6e, 0x67, 0x20, 0x56, 0x69, 0xe1, 0xbb, 0x87, 0x74, 0xd0, 0xa0, 0xd1, 0x83, + 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb9, 0xd1, 0x80, 0xd1, + 0x83, 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb9, 0x69, 0x6e, + 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, + 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, + 0xb5, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, + 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, + 0x8b, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb2, + 0xd0, 0xb5, 0xd0, 0xba, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, + 0xbe, 0xd1, 0x80, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, + 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb2, 0xd1, 0x80, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x8f, 0xd1, 0x81, 0xd0, + 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd1, 0x8f, 0xd1, 0x81, + 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, + 0xd0, 0xa3, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, + 0x8b, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x81, + 0xd1, 0x8b, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb0, + 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, 0xd1, + 0x89, 0xd1, 0x8c, 0xd1, 0x8e, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, + 0xb0, 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, + 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x83, 0xd1, 0x87, 0xd0, + 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, + 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0x93, 0xd0, + 0xbb, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x8f, 0xd0, 0xb8, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, + 0x81, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xb0, + 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, + 0x8f, 0xd0, 0xa1, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, + 0xd1, 0x8c, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x83, + 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, + 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, + 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, + 0xb5, 0xd1, 0x87, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x88, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, + 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbe, 0xd1, 0x80, + 0xd0, 0xb3, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xba, 0xd0, + 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xa0, + 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbb, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xb0, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x89, + 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xb6, 0xd9, 0x88, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, + 0x85, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, + 0xd9, 0x82, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, + 0xa7, 0xd8, 0xa6, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, + 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, + 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xaa, 0xd8, 0xb5, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xa7, 0xd8, 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa7, 0xd9, + 0x84, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa6, 0xd8, 0xac, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb3, 0xd8, 0xac, 0xd9, 0x8a, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x82, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, + 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb6, 0xd8, 0xba, 0xd8, 0xb7, 0xd8, 0xa7, + 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x8a, 0xd8, 0xaf, 0xd9, + 0x8a, 0xd9, 0x88, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xad, + 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, + 0x8a, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb9, + 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, + 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, + 0xd9, 0x81, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xa3, 0xd9, 0x81, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xae, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaa, 0xd9, 0x82, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb7, 0xd8, 0xb1, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xac, 0xd8, 0xaa, 0xd9, 0x85, 0xd8, + 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x88, + 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xad, 0xd8, 0xa9, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, + 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, + 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd9, 0x88, + 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, + 0xaf, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, + 0xd8, 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xa7, 0xd8, 0xba, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x8a, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x3c, + 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, + 0x20, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x22, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x2f, 0x61, + 0x3e, 0x20, 0x7c, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x3c, 0x21, 0x64, 0x6f, 0x63, 0x74, 0x79, 0x70, 0x65, 0x20, 0x68, 0x74, 0x6d, + 0x6c, 0x3e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x73, 0x63, 0x72, 0x65, + 0x65, 0x6e, 0x22, 0x20, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, + 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, + 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, 0x22, + 0x20, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, + 0x6c, 0x3e, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, + 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, 0x72, 0x65, 0x70, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x73, 0x75, + 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x22, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x66, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x3c, 0x64, 0x69, 0x76, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x6e, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x22, 0x3e, + 0x3c, 0x77, 0x61, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x22, 0x3e, 0x29, 0x2e, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x65, 0x63, 0x61, + 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, + 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, + 0x22, 0x2f, 0x7d, 0x62, 0x6f, 0x64, 0x79, 0x7b, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x3a, 0x30, 0x3b, 0x45, 0x6e, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x69, 0x61, 0x20, 0x6f, 0x66, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x2e, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x20, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x72, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, + 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x49, 0x6e, 0x20, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x2f, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x20, + 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x0d, 0x0a, 0x09, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, + 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x2e, 0x6a, 0x73, + 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x20, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, + 0x65, 0x65, 0x6e, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x20, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x73, 0x74, 0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, + 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, + 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x4f, 0x72, 0x74, + 0x68, 0x6f, 0x64, 0x6f, 0x78, 0x20, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x73, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, + 0x3d, 0x22, 0x73, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x68, 0x69, + 0x73, 0x20, 0x64, 0x65, 0x61, 0x74, 0x68, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6c, + 0x61, 0x6e, 0x64, 0x73, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x61, 0x72, 0x67, 0x75, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x72, + 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x20, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, + 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, + 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, + 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, + 0x72, 0x20, 0x74, 0x6f, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x3d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x73, + 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, + 0x64, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, + 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, + 0x73, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, + 0x65, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, + 0x64, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x55, 0x6e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x64, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3e, 0x0a, 0x09, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, + 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, + 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x49, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, + 0x74, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, + 0x7b, 0x76, 0x61, 0x72, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x46, 0x6f, + 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x6e, + 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, + 0x22, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, 0x64, 0x61, 0x73, + 0x68, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, + 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x75, 0x6c, 0x3e, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x61, 0x74, + 0x68, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x6f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x69, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3b, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x69, 0x73, + 0x20, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, + 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0x20, 0x28, 0xe7, 0xae, 0x80, 0xe4, 0xbd, + 0x93, 0x29, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x64, 0x61, 0x64, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x65, 0xe0, 0xa4, 0x89, + 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, + 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, + 0xa5, 0x89, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa5, 0x83, 0xe0, 0xa4, 0xb7, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0xa2, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, + 0x8c, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xae, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9b, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xb6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x89, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0x88, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa2, 0xe0, 0xa4, + 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xab, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, + 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, + 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9b, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x9b, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x8f, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0x98, + 0xe0, 0xa4, 0xa3, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb7, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, + 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x83, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb5, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, + 0xa5, 0x88, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, + 0xa5, 0x87, 0x72, 0x73, 0x73, 0x2b, 0x78, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x3e, 0x0a, 0x3c, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, + 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x74, + 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, + 0x73, 0x22, 0x3e, 0x2e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, + 0x22, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x7d, 0x29, 0x28, 0x29, + 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, + 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x29, 0x3b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, + 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, + 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, + 0x70, 0x73, 0x65, 0x3a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x42, 0x61, 0x68, 0x61, 0x73, 0x61, + 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x45, 0x6e, 0x67, + 0x6c, 0x69, 0x73, 0x68, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x3c, 0x74, 0x65, 0x78, 0x74, 0x20, 0x78, 0x6d, 0x6c, 0x3a, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x3d, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, + 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x6f, 0x76, 0x65, 0x72, + 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3b, 0x69, + 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x2e, 0x6a, 0x73, 0x22, + 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x2f, 0x66, + 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x2f, + 0x3e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, + 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x6c, 0x65, + 0x66, 0x74, 0x3b, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, + 0x3b, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, + 0x0a, 0x3c, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, + 0x77, 0x3a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x6d, 0x6f, 0x72, 0x65, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6e, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, + 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x65, + 0x3b, 0x22, 0x3e, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, + 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x0a, 0x20, 0x20, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x74, 0x68, 0x65, 0x20, + 0x31, 0x35, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x2e, + 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x28, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x20, 0x42, 0x79, 0x7a, 0x61, 0x6e, 0x74, 0x69, 0x6e, + 0x65, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x6a, 0x70, 0x67, 0x7c, + 0x74, 0x68, 0x75, 0x6d, 0x62, 0x7c, 0x6c, 0x65, 0x66, 0x74, 0x7c, 0x76, 0x61, + 0x73, 0x74, 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, + 0x66, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x74, 0x79, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x64, 0x6f, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x20, + 0x57, 0x61, 0x72, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x22, 0x3e, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x73, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x20, + 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3a, 0x31, 0x30, 0x30, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x2d, 0x73, + 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x20, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, + 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, + 0x20, 0x6f, 0x66, 0x44, 0x65, 0x6d, 0x6f, 0x63, 0x72, 0x61, 0x74, 0x69, 0x63, + 0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x46, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2c, 0x2e, + 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, + 0x0a, 0x09, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, + 0x73, 0x29, 0x5b, 0x30, 0x5d, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x2e, 0x6a, 0x73, 0x22, 0x3e, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x6c, 0x69, + 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x22, + 0x20, 0x27, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x27, 0x27, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x27, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x61, + 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x2f, 0x70, 0x61, 0x67, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x67, + 0x65, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x62, 0x61, 0x68, 0x61, + 0x73, 0x61, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x65, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x28, 0x73, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x29, 0xce, 0x95, 0xce, 0xbb, 0xce, 0xbb, 0xce, 0xb7, 0xce, 0xbd, 0xce, + 0xb9, 0xce, 0xba, 0xce, 0xac, 0xd1, 0x85, 0xd1, 0x80, 0xd0, 0xb2, 0xd0, 0xb0, + 0xd1, 0x82, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd0, 0xbf, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, 0x8f, + 0xd0, 0xb2, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x81, 0xd1, + 0x8f, 0xd0, 0x94, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xb8, + 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, + 0xb2, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, + 0xd0, 0xb2, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0x98, 0xd0, + 0xbd, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x82, + 0xd0, 0x9e, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, + 0x82, 0xd1, 0x8c, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb8, + 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x82, 0xd0, + 0xb5, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xba, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, + 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x86, + 0xd1, 0x8b, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, + 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xbe, + 0xd0, 0xb2, 0xd0, 0xb8, 0xd1, 0x8f, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd0, 0xbf, + 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, + 0x8c, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, 0xbb, 0xd1, 0x8f, 0xd1, 0x8e, 0xd1, 0x82, + 0xd1, 0x81, 0xd1, 0x8f, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb8, 0xd0, 0xb1, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbc, + 0xd0, 0xbf, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, + 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, + 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x81, 0xd1, 0x82, 0xd0, + 0xb2, 0xd0, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, + 0xd8, 0xb6, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, + 0xa6, 0xd9, 0x8a, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, 0xd9, 0x82, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x83, + 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb3, 0xd8, 0xb9, 0xd9, 0x88, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd8, 0xad, 0xd8, 0xb5, 0xd8, 0xa7, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, + 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, + 0xaa, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, + 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xb1, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, + 0x85, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, + 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0x72, 0x6f, 0x62, 0x6f, + 0x74, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, + 0x65, 0x72, 0x22, 0x3e, 0x74, 0x68, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, + 0x64, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x2e, + 0x6a, 0x70, 0x67, 0x7c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x7c, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x7c, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, + 0x20, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x66, 0x6f, 0x6e, + 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x6f, 0x6c, 0x64, + 0x3b, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x3a, 0x30, 0x3b, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, + 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x22, 0x20, 0x50, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x77, 0x65, 0x6e, 0x74, + 0x69, 0x65, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x70, + 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x45, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x61, 0x2e, 0x61, 0x73, 0x79, 0x6e, + 0x63, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0d, 0x0a, 0x69, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, + 0x75, 0x74, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x27, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x0a, 0x3c, 0x2f, 0x62, 0x6f, + 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x3a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x41, 0x72, 0x69, 0x61, 0x6c, 0x2c, + 0x20, 0x48, 0x65, 0x6c, 0x76, 0x65, 0x74, 0x69, 0x63, 0x61, 0x2c, 0x3c, 0x2f, + 0x61, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x74, 0x64, 0x3e, + 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, + 0x3c, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, + 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x28, 0x27, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, + 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22, 0x3e, 0x20, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, + 0x22, 0x3e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x68, 0x74, 0x74, 0x70, 0x25, 0x33, 0x41, + 0x25, 0x32, 0x46, 0x25, 0x32, 0x46, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, + 0x66, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x20, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x22, 0x3e, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x0d, 0x0a, 0x0d, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2d, 0x64, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x68, 0x75, 0x72, 0x63, + 0x68, 0x20, 0x6f, 0x66, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, 0x6f, + 0x66, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x43, 0x61, 0x72, 0x6f, 0x6c, + 0x69, 0x6e, 0x61, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x69, 0x6c, + 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x65, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x64, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x74, 0x69, + 0x63, 0x20, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x64, 0x65, 0x63, + 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x42, 0x65, 0x6e, 0x6a, 0x61, 0x6d, 0x69, 0x6e, + 0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x6c, 0x69, 0x6e, 0x72, 0x6f, 0x6c, 0x65, + 0x2d, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x67, 0x61, 0x6d, 0x65, + 0x74, 0x68, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x6e, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x47, 0x75, 0x74, 0x65, 0x6e, 0x62, + 0x65, 0x72, 0x67, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x74, 0x6f, + 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, + 0x68, 0x65, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, + 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x6d, 0x69, 0x6e, + 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, + 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3c, 0x69, 0x6d, 0x67, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x63, + 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, + 0x72, 0x65, 0x64, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x20, 0x6d, 0x65, + 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x73, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x74, + 0x68, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x69, + 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x61, + 0x67, 0x6f, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0xce, 0x95, 0xce, 0xbb, 0xce, 0xbb, 0xce, + 0xb7, 0xce, 0xbd, 0xce, 0xb9, 0xce, 0xba, 0xce, 0xac, 0x0a, 0x74, 0x61, 0x6b, + 0x65, 0x20, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x20, 0x6f, + 0x66, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x73, 0x65, + 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x74, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x20, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, 0x79, 0x69, 0x73, 0x6f, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x6c, 0x64, 0x20, + 0x54, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x66, 0x72, 0x69, + 0x63, 0x61, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x73, + 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, + 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x61, 0x6d, + 0x61, 0x6b, 0x65, 0x73, 0x20, 0x69, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x72, 0x67, 0x75, 0x61, 0x62, + 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, + 0x3e, 0x0a, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, + 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x74, 0x77, 0x6f, 0x2d, 0x74, 0x68, 0x69, 0x72, + 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x44, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, + 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, + 0x6e, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x6c, 0x79, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x63, 0x69, + 0x6f, 0x75, 0x73, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, + 0x61, 0x73, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6f, 0x63, 0x63, + 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, + 0x64, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x3a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x78, 0x2f, 0x6c, + 0x69, 0x62, 0x73, 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x31, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x3d, 0x22, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, + 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, + 0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x61, 0x3e, 0x65, + 0x28, 0x22, 0x25, 0x33, 0x43, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x27, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, + 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x4f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x2c, 0x2e, 0x6a, 0x70, 0x67, 0x7c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x7c, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x7c, 0x32, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x3a, 0x6e, 0x69, 0x6e, 0x65, 0x74, 0x65, 0x65, 0x6e, 0x74, 0x68, + 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x3c, 0x2f, 0x62, 0x6f, 0x64, + 0x79, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0x0a, + 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x3a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x6f, 0x6e, + 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x62, 0x6f, 0x6c, + 0x64, 0x3b, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x22, + 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, + 0x22, 0x30, 0x22, 0x20, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x6c, 0x69, 0x6e, 0x6b, + 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, 0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, + 0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x3c, 0x2f, + 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x3e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x3b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, + 0x62, 0x6f, 0x6c, 0x64, 0x3b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x3c, 0x73, 0x70, + 0x61, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, + 0x74, 0x2d, 0x6f, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x20, 0x77, 0x69, + 0x64, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, + 0x20, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, + 0x6d, 0x6c, 0x3e, 0x0d, 0x0a, 0x3c, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, + 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x22, 0x3e, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6e, 0x63, 0x65, + 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x3d, 0x68, 0x74, 0x74, 0x70, 0x25, 0x33, 0x41, 0x25, 0x32, 0x46, 0x25, 0x32, + 0x46, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x72, 0x20, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, + 0x2f, 0x3e, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x48, 0x61, 0x72, 0x76, 0x61, 0x72, + 0x64, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, + 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4f, 0x78, 0x66, 0x6f, + 0x72, 0x64, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, + 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6b, 0x65, 0x79, 0x77, 0x6f, + 0x72, 0x64, 0x73, 0x22, 0x20, 0x63, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x74, 0x68, + 0x65, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, 0x69, 0x6e, 0x67, + 0x64, 0x6f, 0x6d, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, + 0x61, 0x6e, 0x63, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x74, 0x65, 0x6c, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x65, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x20, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x6f, 0x77, 0x65, 0x76, + 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x22, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x61, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x54, 0x65, 0x6c, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x22, 0x20, 0x74, 0x48, 0x6f, 0x6c, 0x79, 0x20, 0x52, 0x6f, 0x6d, 0x61, + 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x65, 0x72, 0x6f, 0x72, 0x61, 0x6c, 0x6d, 0x6f, + 0x73, 0x74, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, + 0x79, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, + 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x61, + 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x63, 0x75, + 0x6c, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x43, 0x49, 0x41, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x20, + 0x46, 0x61, 0x63, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, + 0x61, 0x6e, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x72, 0x79, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x3c, 0x6c, 0x69, + 0x3e, 0x3c, 0x65, 0x6d, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, + 0x63, 0x20, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x6c, 0x79, 0x20, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2c, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, + 0x4f, 0x74, 0x74, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, + 0x65, 0x3e, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x41, 0x6e, 0x20, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x65, + 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x69, 0x6e, 0x64, 0x69, 0x67, 0x65, 0x6e, 0x6f, 0x75, 0x73, 0x20, 0x70, 0x65, + 0x6f, 0x70, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x64, + 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x72, 0x65, 0x65, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x74, 0x20, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x69, 0x73, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x64, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x77, 0x69, + 0x64, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x64, + 0x20, 0x61, 0x73, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x65, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x69, 0x73, 0x20, 0x61, + 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x6c, + 0x79, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, + 0x6e, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x69, 0x63, 0x20, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, 0x63, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20, + 0x6f, 0x66, 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x7c, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x49, 0x6e, 0x20, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x2c, 0x20, 0x74, 0x68, + 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x6f, + 0x74, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x74, 0x68, + 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x79, 0x65, + 0x61, 0x72, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2e, 0x70, 0x68, 0x70, 0x77, 0x61, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6d, 0x69, 0x6e, + 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x20, 0x73, 0x74, 0x72, 0x6f, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, + 0x74, 0x6f, 0x70, 0x3a, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x67, 0x72, 0x61, 0x64, + 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, + 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x28, 0x22, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x29, 0x3b, 0x48, 0x6f, + 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x3b, + 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3a, + 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x67, + 0x61, 0x69, 0x6e, 0x73, 0x74, 0x30, 0x3b, 0x20, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x55, 0x6e, 0x66, + 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, + 0x69, 0x78, 0x22, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x09, 0x09, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x0a, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, + 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0xd0, 0x91, 0xd1, 0x8a, 0xd0, 0xbb, 0xd0, + 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb1, + 0xd1, 0x8a, 0xd0, 0xbb, 0xd0, 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, + 0xba, 0xd0, 0xb8, 0xd0, 0xa4, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x80, + 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, + 0x81, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x89, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, + 0xd1, 0x89, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xbc, + 0xd1, 0x8b, 0xd0, 0x9e, 0xd1, 0x82, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, + 0xb2, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb1, 0xd0, 0xb5, 0xd1, 0x81, + 0xd0, 0xbf, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb0, + 0xd0, 0xbb, 0xd1, 0x8b, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xb7, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbf, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, + 0xb5, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x87, + 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, + 0xb4, 0xd1, 0x83, 0xd0, 0xba, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbf, + 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, + 0xbc, 0xd0, 0xb0, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x8e, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, + 0x85, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x81, 0xd1, 0x8f, + 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb5, + 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xb8, 0xd0, + 0xb7, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, + 0xd1, 0x8f, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, + 0xbe, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0x90, 0xd0, 0xbb, 0xd0, 0xb5, + 0xd0, 0xba, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb4, 0xd1, 0x80, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9a, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0x85, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0x91, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, + 0xbc, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb6, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaf, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xa6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0x89, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xa3, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, + 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xa7, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0x89, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa7, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x86, + 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x8f, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x81, + 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xac, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, + 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xa5, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, + 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, + 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x88, + 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, + 0xa7, 0xd9, 0x87, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xaf, + 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb2, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xb9, 0xd8, 0xaf, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, + 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd8, + 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x88, 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xb4, 0xd9, + 0x88, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xa7, + 0xd8, 0xa8, 0xd9, 0x82, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, + 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xb1, + 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x8a, 0xd9, 0x83, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, + 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78, + 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x22, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x20, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x3b, 0x74, 0x6f, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x62, 0x61, 0x63, 0x6b, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, + 0x20, 0x23, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, + 0x3d, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x23, 0x22, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x2f, + 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x77, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x52, + 0x49, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x28, 0x22, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x27, + 0x3c, 0x73, 0x63, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, + 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, + 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, + 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, + 0x0a, 0x0d, 0x0a, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x3c, + 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x2f, + 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, + 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, + 0x22, 0x3f, 0x3e, 0x0a, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x3a, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, + 0x63, 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x20, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3d, 0x22, 0x6f, 0x67, 0x3a, + 0x74, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, + 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, + 0x65, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x68, + 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, + 0x75, 0x74, 0x66, 0x2d, 0x38, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, + 0x30, 0x25, 0x22, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74, + 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, + 0x6e, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x69, 0x64, 0x3d, 0x67, 0x62, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x43, 0x6f, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, + 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6d, 0x45, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x20, + 0x6f, 0x66, 0x20, 0x53, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x64, 0x69, + 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x67, 0x65, + 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x28, + 0x69, 0x64, 0x29, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, 0x29, + 0x3b, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3d, 0x22, 0x6f, 0x67, 0x3a, 0xd0, 0x91, 0xd1, 0x8a, 0xd0, + 0xbb, 0xd0, 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, + 0x0a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x3e, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x63, 0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x61, 0x3e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x3e, 0x3c, + 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x69, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x70, 0x75, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x57, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x2c, 0x20, 0x44, 0x2e, + 0x43, 0x2e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, + 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x61, 0x6d, 0x6f, 0x6e, 0x67, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x2c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x66, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x20, 0x4f, 0x78, 0x66, 0x6f, 0x72, 0x64, 0x20, + 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x20, 0x6d, 0x69, + 0x73, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x66, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, + 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x2f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x20, 0x55, + 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x3e, + 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x20, 0x6f, 0x66, 0x20, 0x49, 0x72, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x0a, 0x3c, + 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x77, + 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x61, 0x64, + 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x61, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6d, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x6c, 0x20, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x6f, 0x66, + 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x68, 0x69, 0x73, 0x20, 0x79, + 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, + 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x58, 0x2d, 0x55, 0x41, 0x2d, + 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x6f, 0x66, 0x20, 0x42, 0x72, 0x69, 0x74, + 0x69, 0x73, 0x68, 0x20, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x68, + 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x63, 0x72, 0x69, 0x74, 0x69, + 0x63, 0x69, 0x7a, 0x65, 0x64, 0x28, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x30, 0x22, 0x20, + 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, + 0x30, 0x22, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x73, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x20, 0x46, + 0x6f, 0x72, 0x68, 0x61, 0x76, 0x65, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x25, 0x33, 0x45, 0x25, 0x33, + 0x43, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x25, 0x33, 0x45, 0x22, 0x29, + 0x29, 0x3b, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x3c, 0x6c, 0x69, 0x3e, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x65, 0x78, + 0x74, 0x2d, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x6d, + 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, + 0x76, 0x3d, 0x22, 0x58, 0x2d, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, + 0x28, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, + 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, + 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x72, 0x65, + 0x66, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x6a, 0x61, 0x76, + 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, + 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x68, 0x6f, 0x72, 0x74, + 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x74, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x3d, 0x22, 0x58, 0x2d, 0x55, 0x41, 0x2d, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x20, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x2f, 0x75, + 0x6c, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, + 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x71, 0x22, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x25, 0x22, 0x20, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, + 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, + 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x36, 0x3e, 0x3c, 0x75, 0x6c, + 0x3e, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x20, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, + 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x63, 0x73, 0x73, 0x22, 0x20, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x22, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x68, 0x74, 0x6d, + 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, + 0x66, 0x2d, 0x38, 0x22, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x3d, 0x22, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x65, 0x0d, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, + 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x3e, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x3e, + 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x65, 0x63, + 0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x3c, 0x21, 0x44, 0x4f, + 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c, 0x68, + 0x74, 0x6d, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x3a, 0x76, 0x6f, 0x69, 0x64, 0x28, 0x30, 0x29, 0x3b, 0x22, 0x65, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x3e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, + 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x6d, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, + 0x68, 0x65, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x64, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x2c, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, + 0x6f, 0x6e, 0x22, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x64, 0x69, + 0x70, 0x6c, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x20, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x65, + 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x6d, + 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, + 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x69, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x26, 0x61, 0x6d, 0x70, + 0x3b, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x62, + 0x73, 0x70, 0x3b, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x71, 0x75, 0x69, + 0x74, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x77, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x77, 0x69, 0x74, 0x68, 0x20, 0x76, + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, + 0x73, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x28, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x64, 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, + 0x74, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, + 0x20, 0x2f, 0x3e, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x61, 0x62, 0x6c, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x70, 0x65, 0x72, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x65, 0x63, 0x6f, 0x6e, + 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, + 0x65, 0x6e, 0x74, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x72, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, + 0x6c, 0x20, 0x6f, 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x6f, + 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, 0xaa, 0x73, 0x20, 0x28, 0x45, 0x75, 0x72, + 0x6f, 0x70, 0x65, 0x75, 0x29, 0xd0, 0xa3, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, + 0xd1, 0x97, 0xd0, 0xbd, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, + 0x83, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x97, 0xd0, 0xbd, 0xd1, 0x81, + 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xa0, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, + 0x81, 0xd0, 0xb8, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, + 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, + 0xb0, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, + 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, + 0xb8, 0xd1, 0x83, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbb, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, + 0xbe, 0xd0, 0xb1, 0xd1, 0x85, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0xbc, + 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, + 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0x98, 0xd0, 0xbd, + 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, + 0xb8, 0xd1, 0x8f, 0xd0, 0xa0, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbf, 0xd1, 0x83, + 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, + 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd1, 0x8e, 0xd1, 0x82, + 0xd0, 0xb5, 0xd1, 0x80, 0xd1, 0x80, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, + 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb4, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, + 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, 0xbd, 0xd0, 0xbe, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xac, + 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, + 0xb4, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, + 0xa7, 0xd8, 0xad, 0xd8, 0xa7, 0xd8, 0xaa, 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, + 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x55, 0x54, 0x46, 0x2d, 0x38, + 0x22, 0x20, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x2f, + 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, + 0x20, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x63, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x3c, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, + 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x22, 0x20, 0x0d, 0x0a, 0x3c, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2f, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, + 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, + 0x28, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x67, 0x65, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x7d, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, + 0x31, 0x22, 0x20, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x27, 0x73, 0x20, 0x52, + 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x20, 0x3c, + 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x64, 0x65, + 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x0a, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x23, 0x76, 0x69, 0x65, 0x77, 0x70, + 0x6f, 0x72, 0x74, 0x7b, 0x6d, 0x69, 0x6e, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3a, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, + 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, + 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x0a, 0x3c, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x3c, 0x21, 0x44, 0x4f, 0x43, + 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x3c, 0x21, + 0x2d, 0x2d, 0x5b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x41, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x3e, 0x0a, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0xe0, 0xb8, 0xa0, 0xe0, 0xb8, 0xb2, 0xe0, 0xb8, 0xa9, 0xe0, 0xb8, 0xb2, + 0xe0, 0xb9, 0x84, 0xe0, 0xb8, 0x97, 0xe0, 0xb8, 0xa2, 0xe1, 0x83, 0xa5, 0xe1, + 0x83, 0x90, 0xe1, 0x83, 0xa0, 0xe1, 0x83, 0x97, 0xe1, 0x83, 0xa3, 0xe1, 0x83, + 0x9a, 0xe1, 0x83, 0x98, 0xe6, 0xad, 0xa3, 0xe9, 0xab, 0x94, 0xe4, 0xb8, 0xad, + 0xe6, 0x96, 0x87, 0x20, 0x28, 0xe7, 0xb9, 0x81, 0xe9, 0xab, 0x94, 0x29, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, + 0xa4, 0xa1, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0x9e, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x85, 0xe0, + 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xad, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x9a, 0xe0, + 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xa3, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xbc, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa1, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, + 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, + 0x6c, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x3c, 0x6d, 0x65, 0x74, + 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x75, 0x74, + 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x3a, 0x75, 0x72, 0x6c, 0x22, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, + 0x2f, 0x63, 0x73, 0x73, 0x22, 0x3e, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39, + 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x20, + 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, + 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, + 0x22, 0x20, 0x2f, 0x3e, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, + 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, + 0x22, 0x31, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, + 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, + 0x6f, 0x6e, 0x65, 0x3b, 0x22, 0x3e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, 0x2f, 0x44, 0x54, 0x44, + 0x20, 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x65, 0x6c, + 0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, + 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3d, 0x22, 0x2f, 0x61, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, + 0x73, 0x70, 0x61, 0x6e, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x0a, + 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x3d, 0x22, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x22, 0x20, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, + 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x3d, 0x22, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, + 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x27, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x79, 0x70, 0x65, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, + 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3d, 0x22, 0x31, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, + 0x22, 0x20, 0x3d, 0x27, 0x2b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x52, + 0x49, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x28, 0x3c, 0x6c, + 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x65, 0x22, 0x20, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x2c, + 0x20, 0x74, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x3e, 0x0a, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x22, 0x3e, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, 0x3e, 0xc2, 0xb7, + 0x3c, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x6c, 0x3d, 0x30, + 0x3b, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x2d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x75, 0x72, + 0x6c, 0x28, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, + 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x09, 0x09, + 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, + 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3d, 0x22, + 0x74, 0x72, 0x75, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x2f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x3e, 0x0a, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, + 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x3d, 0x28, 0x6e, + 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x28, 0x29, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, + 0xaa, 0x73, 0x20, 0x28, 0x64, 0x6f, 0x20, 0x42, 0x72, 0x61, 0x73, 0x69, 0x6c, + 0x29, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb3, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, + 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd0, 0xb7, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, + 0xb0, 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, + 0xd1, 0x8f, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, + 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb2, + 0xd0, 0xbe, 0xd0, 0xb7, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, + 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8f, + 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, + 0xbd, 0xd0, 0xb0, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, + 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x22, + 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x3c, 0x6d, 0x65, + 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, + 0x3d, 0x22, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, + 0x6e, 0x73, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, + 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x54, 0x44, 0x54, + 0x44, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x31, 0x2d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x54, 0x52, 0x2f, 0x78, 0x68, + 0x74, 0x6d, 0x6c, 0x31, 0x2f, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x74, 0x65, + 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x27, 0x3b, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x69, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x3c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6a, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, + 0x63, 0x72, 0x69, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x29, + 0x2e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x55, 0x41, 0x2d, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x3d, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, + 0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x3c, 0x6c, + 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x3c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, + 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x3d, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, + 0x63, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, + 0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x64, 0x74, 0x64, + 0x22, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, 0x6e, + 0x73, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, + 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x34, 0x2e, + 0x30, 0x31, 0x20, 0x54, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, + 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, + 0x29, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x3c, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x22, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x22, 0x3e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x79, 0x49, 0x64, 0x28, 0x3d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x28, 0x27, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, + 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x27, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, + 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, + 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x73, 0x6e, 0x69, 0x63, + 0x61, 0x6c, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x43, 0x2f, 0x2f, 0x44, 0x54, + 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, + 0x73, 0x22, 0x3e, 0x0a, 0x0a, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, + 0x22, 0x3e, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e, + 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3d, + 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x68, 0x74, 0x6d, 0x6c, + 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, 0x66, + 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e, + 0x65, 0x3b, 0x22, 0x3e, 0x3c, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, 0x78, + 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, + 0x3e, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x8f, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbb, + 0xd1, 0x8c, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, + 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x82, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb4, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, + 0xb7, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x81, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xab, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x89, + 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9e, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, +}; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/common/dictionary.h b/BaseTools/Source/C/BrotliCompress/common/dictionary.h new file mode 100644 index 000000000000..d8cfe1c34909 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/common/dictionary.h @@ -0,0 +1,29 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Collection of static dictionary words. */ + +#ifndef BROTLI_COMMON_DICTIONARY_H_ +#define BROTLI_COMMON_DICTIONARY_H_ + +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +extern const uint8_t kBrotliDictionary[122784]; +extern const uint32_t kBrotliDictionaryOffsetsByLength[25]; +extern const uint8_t kBrotliDictionarySizeBitsByLength[25]; + +#define kBrotliMinDictionaryWordLength 4 +#define kBrotliMaxDictionaryWordLength 24 + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_COMMON_DICTIONARY_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/common/port.h b/BaseTools/Source/C/BrotliCompress/common/port.h new file mode 100644 index 000000000000..641bd38dc57b --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/common/port.h @@ -0,0 +1,107 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Macros for compiler / platform specific features and build options. */ + +#ifndef BROTLI_COMMON_PORT_H_ +#define BROTLI_COMMON_PORT_H_ + +/* Compatibility with non-clang compilers. */ +#ifndef __has_builtin +#define __has_builtin(x) 0 +#endif + +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +#if defined(__GNUC__) && defined(__GNUC_MINOR__) +#define BROTLI_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +#else +#define BROTLI_GCC_VERSION 0 +#endif + +#if defined(__ICC) +#define BROTLI_ICC_VERSION __ICC +#else +#define BROTLI_ICC_VERSION 0 +#endif + +#if defined(BROTLI_BUILD_MODERN_COMPILER) +#define BROTLI_MODERN_COMPILER 1 +#elif BROTLI_GCC_VERSION > 300 || BROTLI_ICC_VERSION >= 1600 +#define BROTLI_MODERN_COMPILER 1 +#else +#define BROTLI_MODERN_COMPILER 0 +#endif + +/* Define "PREDICT_TRUE" and "PREDICT_FALSE" macros for capable compilers. + +To apply compiler hint, enclose the branching condition into macros, like this: + + if (PREDICT_TRUE(zero == 0)) { + // main execution path + } else { + // compiler should place this code outside of main execution path + } + +OR: + + if (PREDICT_FALSE(something_rare_or_unexpected_happens)) { + // compiler should place this code outside of main execution path + } + +*/ +#if BROTLI_MODERN_COMPILER || __has_builtin(__builtin_expect) +#define PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) +#define PREDICT_FALSE(x) (__builtin_expect(x, 0)) +#else +#define PREDICT_FALSE(x) (x) +#define PREDICT_TRUE(x) (x) +#endif + +#if BROTLI_MODERN_COMPILER || __has_attribute(always_inline) +#define ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) +#else +#define ATTRIBUTE_ALWAYS_INLINE +#endif + +#if defined(_WIN32) || defined(__CYGWIN__) +#define ATTRIBUTE_VISIBILITY_HIDDEN +#elif BROTLI_MODERN_COMPILER || __has_attribute(visibility) +#define ATTRIBUTE_VISIBILITY_HIDDEN __attribute__ ((visibility ("hidden"))) +#else +#define ATTRIBUTE_VISIBILITY_HIDDEN +#endif + +#ifndef BROTLI_INTERNAL +#define BROTLI_INTERNAL ATTRIBUTE_VISIBILITY_HIDDEN +#endif + +#ifndef _MSC_VER +#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ + __STDC_VERSION__ >= 199901L +#define BROTLI_INLINE inline ATTRIBUTE_ALWAYS_INLINE +#else +#define BROTLI_INLINE +#endif +#else /* _MSC_VER */ +#define BROTLI_INLINE __forceinline +#endif /* _MSC_VER */ + +#if BROTLI_MODERN_COMPILER || __has_attribute(noinline) +#define BROTLI_NOINLINE __attribute__((noinline)) +#else +#define BROTLI_NOINLINE +#endif + +#define BROTLI_UNUSED(X) (void)(X) + +#endif /* BROTLI_COMMON_PORT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/common/types.h b/BaseTools/Source/C/BrotliCompress/common/types.h new file mode 100644 index 000000000000..c6a37a6aac99 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/common/types.h @@ -0,0 +1,58 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Common types */ + +#ifndef BROTLI_COMMON_TYPES_H_ +#define BROTLI_COMMON_TYPES_H_ + +#include /* for size_t */ + +#if defined(_MSC_VER) && (_MSC_VER < 1600) +typedef __int8 int8_t; +typedef unsigned __int8 uint8_t; +typedef __int16 int16_t; +typedef unsigned __int16 uint16_t; +typedef __int32 int32_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +typedef __int64 int64_t; +#else +#include +#endif /* defined(_MSC_VER) && (_MSC_VER < 1600) */ + +#if (!defined(_MSC_VER) || (_MSC_VER >= 1800)) && \ + (defined(__cplusplus) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)) +#include +#define BROTLI_BOOL bool +#define BROTLI_TRUE true +#define BROTLI_FALSE false +#define TO_BROTLI_BOOL(X) (!!(X)) +#else +typedef enum { + BROTLI_FALSE = 0, + BROTLI_TRUE = !BROTLI_FALSE +} BROTLI_BOOL; +#define TO_BROTLI_BOOL(X) (!!(X) ? BROTLI_TRUE : BROTLI_FALSE) +#endif + +#define MAKE_UINT64_T(high, low) ((((uint64_t)(high)) << 32) | low) + +#define BROTLI_UINT32_MAX (~((uint32_t)0)) +#define BROTLI_SIZE_MAX (~((size_t)0)) + +/* Allocating function pointer. Function MUST return 0 in the case of failure. + Otherwise it MUST return a valid pointer to a memory region of at least + size length. Neither items nor size are allowed to be 0. + opaque argument is a pointer provided by client and could be used to bind + function to specific object (memory pool). */ +typedef void* (*brotli_alloc_func)(void* opaque, size_t size); + +/* Deallocating function pointer. Function SHOULD be no-op in the case the + address is 0. */ +typedef void (*brotli_free_func)(void* opaque, void* address); + +#endif /* BROTLI_COMMON_TYPES_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/bit_reader.c b/BaseTools/Source/C/BrotliCompress/dec/bit_reader.c new file mode 100644 index 000000000000..83dcc36b46ff --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/bit_reader.c @@ -0,0 +1,48 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Bit reading helpers */ + +#include "./bit_reader.h" + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +void BrotliInitBitReader(BrotliBitReader* const br) { + br->val_ = 0; + br->bit_pos_ = sizeof(br->val_) << 3; +} + +BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br) { + size_t aligned_read_mask = (sizeof(br->val_) >> 1) - 1; + /* Fixing alignment after unaligned BrotliFillWindow would result accumulator + overflow. If unalignment is caused by BrotliSafeReadBits, then there is + enough space in accumulator to fix aligment. */ + if (!BROTLI_ALIGNED_READ) { + aligned_read_mask = 0; + } + if (BrotliGetAvailableBits(br) == 0) { + if (!BrotliPullByte(br)) { + return BROTLI_FALSE; + } + } + + while ((((size_t)br->next_in) & aligned_read_mask) != 0) { + if (!BrotliPullByte(br)) { + /* If we consumed all the input, we don't care about the alignment. */ + return BROTLI_TRUE; + } + } + return BROTLI_TRUE; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/dec/bit_reader.h b/BaseTools/Source/C/BrotliCompress/dec/bit_reader.h new file mode 100644 index 000000000000..c0f6d1bf6efb --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/bit_reader.h @@ -0,0 +1,383 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Bit reading helpers */ + +#ifndef BROTLI_DEC_BIT_READER_H_ +#define BROTLI_DEC_BIT_READER_H_ + +#include /* memcpy */ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#if (BROTLI_64_BITS) +#define BROTLI_SHORT_FILL_BIT_WINDOW_READ 4 +typedef uint64_t reg_t; +#else +#define BROTLI_SHORT_FILL_BIT_WINDOW_READ 2 +typedef uint32_t reg_t; +#endif + +static const uint32_t kBitMask[33] = { 0x0000, + 0x00000001, 0x00000003, 0x00000007, 0x0000000F, + 0x0000001F, 0x0000003F, 0x0000007F, 0x000000FF, + 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF, + 0x00001FFF, 0x00003FFF, 0x00007FFF, 0x0000FFFF, + 0x0001FFFF, 0x0003FFFF, 0x0007FFFF, 0x000FFFFF, + 0x001FFFFF, 0x003FFFFF, 0x007FFFFF, 0x00FFFFFF, + 0x01FFFFFF, 0x03FFFFFF, 0x07FFFFFF, 0x0FFFFFFF, + 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF +}; + +static BROTLI_INLINE uint32_t BitMask(uint32_t n) { + if (IS_CONSTANT(n) || BROTLI_HAS_UBFX) { + /* Masking with this expression turns to a single + "Unsigned Bit Field Extract" UBFX instruction on ARM. */ + return ~((0xffffffffU) << n); + } else { + return kBitMask[n]; + } +} + +typedef struct { + reg_t val_; /* pre-fetched bits */ + uint32_t bit_pos_; /* current bit-reading position in val_ */ + const uint8_t* next_in; /* the byte we're reading from */ + size_t avail_in; +} BrotliBitReader; + +typedef struct { + reg_t val_; + uint32_t bit_pos_; + const uint8_t* next_in; + size_t avail_in; +} BrotliBitReaderState; + +/* Initializes the bitreader fields. */ +BROTLI_INTERNAL void BrotliInitBitReader(BrotliBitReader* const br); + +/* Ensures that accumulator is not empty. May consume one byte of input. + Returns 0 if data is required but there is no input available. + For BROTLI_ALIGNED_READ this function also prepares bit reader for aligned + reading. */ +BROTLI_INTERNAL BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br); + +static BROTLI_INLINE void BrotliBitReaderSaveState( + BrotliBitReader* const from, BrotliBitReaderState* to) { + to->val_ = from->val_; + to->bit_pos_ = from->bit_pos_; + to->next_in = from->next_in; + to->avail_in = from->avail_in; +} + +static BROTLI_INLINE void BrotliBitReaderRestoreState( + BrotliBitReader* const to, BrotliBitReaderState* from) { + to->val_ = from->val_; + to->bit_pos_ = from->bit_pos_; + to->next_in = from->next_in; + to->avail_in = from->avail_in; +} + +static BROTLI_INLINE uint32_t BrotliGetAvailableBits( + const BrotliBitReader* br) { + return (BROTLI_64_BITS ? 64 : 32) - br->bit_pos_; +} + +/* Returns amount of unread bytes the bit reader still has buffered from the + BrotliInput, including whole bytes in br->val_. */ +static BROTLI_INLINE size_t BrotliGetRemainingBytes(BrotliBitReader* br) { + return br->avail_in + (BrotliGetAvailableBits(br) >> 3); +} + +/* Checks if there is at least num bytes left in the input ringbuffer (excluding + the bits remaining in br->val_). */ +static BROTLI_INLINE BROTLI_BOOL BrotliCheckInputAmount( + BrotliBitReader* const br, size_t num) { + return TO_BROTLI_BOOL(br->avail_in >= num); +} + +static BROTLI_INLINE uint16_t BrotliLoad16LE(const uint8_t* in) { + if (BROTLI_LITTLE_ENDIAN) { + return *((const uint16_t*)in); + } else if (BROTLI_BIG_ENDIAN) { + uint16_t value = *((const uint16_t*)in); + return (uint16_t)(((value & 0xFFU) << 8) | ((value & 0xFF00U) >> 8)); + } else { + return (uint16_t)(in[0] | (in[1] << 8)); + } +} + +static BROTLI_INLINE uint32_t BrotliLoad32LE(const uint8_t* in) { + if (BROTLI_LITTLE_ENDIAN) { + return *((const uint32_t*)in); + } else if (BROTLI_BIG_ENDIAN) { + uint32_t value = *((const uint32_t*)in); + return ((value & 0xFFU) << 24) | ((value & 0xFF00U) << 8) | + ((value & 0xFF0000U) >> 8) | ((value & 0xFF000000U) >> 24); + } else { + uint32_t value = (uint32_t)(*(in++)); + value |= (uint32_t)(*(in++)) << 8; + value |= (uint32_t)(*(in++)) << 16; + value |= (uint32_t)(*(in++)) << 24; + return value; + } +} + +#if (BROTLI_64_BITS) +static BROTLI_INLINE uint64_t BrotliLoad64LE(const uint8_t* in) { + if (BROTLI_LITTLE_ENDIAN) { + return *((const uint64_t*)in); + } else if (BROTLI_BIG_ENDIAN) { + uint64_t value = *((const uint64_t*)in); + return + ((value & 0xFFU) << 56) | + ((value & 0xFF00U) << 40) | + ((value & 0xFF0000U) << 24) | + ((value & 0xFF000000U) << 8) | + ((value & 0xFF00000000U) >> 8) | + ((value & 0xFF0000000000U) >> 24) | + ((value & 0xFF000000000000U) >> 40) | + ((value & 0xFF00000000000000U) >> 56); + } else { + uint64_t value = (uint64_t)(*(in++)); + value |= (uint64_t)(*(in++)) << 8; + value |= (uint64_t)(*(in++)) << 16; + value |= (uint64_t)(*(in++)) << 24; + value |= (uint64_t)(*(in++)) << 32; + value |= (uint64_t)(*(in++)) << 40; + value |= (uint64_t)(*(in++)) << 48; + value |= (uint64_t)(*(in++)) << 56; + return value; + } +} +#endif + +/* Guarantees that there are at least n_bits + 1 bits in accumulator. + Precondition: accumulator contains at least 1 bit. + n_bits should be in the range [1..24] for regular build. For portable + non-64-bit little endian build only 16 bits are safe to request. */ +static BROTLI_INLINE void BrotliFillBitWindow( + BrotliBitReader* const br, uint32_t n_bits) { +#if (BROTLI_64_BITS) + if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 8)) { + if (br->bit_pos_ >= 56) { + br->val_ >>= 56; + br->bit_pos_ ^= 56; /* here same as -= 56 because of the if condition */ + br->val_ |= BrotliLoad64LE(br->next_in) << 8; + br->avail_in -= 7; + br->next_in += 7; + } + } else if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 16)) { + if (br->bit_pos_ >= 48) { + br->val_ >>= 48; + br->bit_pos_ ^= 48; /* here same as -= 48 because of the if condition */ + br->val_ |= BrotliLoad64LE(br->next_in) << 16; + br->avail_in -= 6; + br->next_in += 6; + } + } else { + if (br->bit_pos_ >= 32) { + br->val_ >>= 32; + br->bit_pos_ ^= 32; /* here same as -= 32 because of the if condition */ + br->val_ |= ((uint64_t)BrotliLoad32LE(br->next_in)) << 32; + br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ; + br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ; + } + } +#else + if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 8)) { + if (br->bit_pos_ >= 24) { + br->val_ >>= 24; + br->bit_pos_ ^= 24; /* here same as -= 24 because of the if condition */ + br->val_ |= BrotliLoad32LE(br->next_in) << 8; + br->avail_in -= 3; + br->next_in += 3; + } + } else { + if (br->bit_pos_ >= 16) { + br->val_ >>= 16; + br->bit_pos_ ^= 16; /* here same as -= 16 because of the if condition */ + br->val_ |= ((uint32_t)BrotliLoad16LE(br->next_in)) << 16; + br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ; + br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ; + } + } +#endif +} + +/* Mosltly like BrotliFillBitWindow, but guarantees only 16 bits and reads no + more than BROTLI_SHORT_FILL_BIT_WINDOW_READ bytes of input. */ +static BROTLI_INLINE void BrotliFillBitWindow16(BrotliBitReader* const br) { + BrotliFillBitWindow(br, 17); +} + +/* Pulls one byte of input to accumulator. */ +static BROTLI_INLINE BROTLI_BOOL BrotliPullByte(BrotliBitReader* const br) { + if (br->avail_in == 0) { + return BROTLI_FALSE; + } + br->val_ >>= 8; +#if (BROTLI_64_BITS) + br->val_ |= ((uint64_t)*br->next_in) << 56; +#else + br->val_ |= ((uint32_t)*br->next_in) << 24; +#endif + br->bit_pos_ -= 8; + --br->avail_in; + ++br->next_in; + return BROTLI_TRUE; +} + +/* Returns currently available bits. + The number of valid bits could be calclulated by BrotliGetAvailableBits. */ +static BROTLI_INLINE reg_t BrotliGetBitsUnmasked(BrotliBitReader* const br) { + return br->val_ >> br->bit_pos_; +} + +/* Like BrotliGetBits, but does not mask the result. + The result contains at least 16 valid bits. */ +static BROTLI_INLINE uint32_t BrotliGet16BitsUnmasked( + BrotliBitReader* const br) { + BrotliFillBitWindow(br, 16); + return (uint32_t)BrotliGetBitsUnmasked(br); +} + +/* Returns the specified number of bits from br without advancing bit pos. */ +static BROTLI_INLINE uint32_t BrotliGetBits( + BrotliBitReader* const br, uint32_t n_bits) { + BrotliFillBitWindow(br, n_bits); + return (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits); +} + +/* Tries to peek the specified amount of bits. Returns 0, if there is not + enough input. */ +static BROTLI_INLINE BROTLI_BOOL BrotliSafeGetBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + while (BrotliGetAvailableBits(br) < n_bits) { + if (!BrotliPullByte(br)) { + return BROTLI_FALSE; + } + } + *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits); + return BROTLI_TRUE; +} + +/* Advances the bit pos by n_bits. */ +static BROTLI_INLINE void BrotliDropBits( + BrotliBitReader* const br, uint32_t n_bits) { + br->bit_pos_ += n_bits; +} + +static BROTLI_INLINE void BrotliBitReaderUnload(BrotliBitReader* br) { + uint32_t unused_bytes = BrotliGetAvailableBits(br) >> 3; + uint32_t unused_bits = unused_bytes << 3; + br->avail_in += unused_bytes; + br->next_in -= unused_bytes; + if (unused_bits == sizeof(br->val_) << 3) { + br->val_ = 0; + } else { + br->val_ <<= unused_bits; + } + br->bit_pos_ += unused_bits; +} + +/* Reads the specified number of bits from br and advances the bit pos. + Precondition: accumulator MUST contain at least n_bits. */ +static BROTLI_INLINE void BrotliTakeBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits); + BROTLI_LOG(("[BrotliReadBits] %d %d %d val: %6x\n", + (int)br->avail_in, (int)br->bit_pos_, n_bits, (int)*val)); + BrotliDropBits(br, n_bits); +} + +/* Reads the specified number of bits from br and advances the bit pos. + Assumes that there is enough input to perform BrotliFillBitWindow. */ +static BROTLI_INLINE uint32_t BrotliReadBits( + BrotliBitReader* const br, uint32_t n_bits) { + if (BROTLI_64_BITS || (n_bits <= 16)) { + uint32_t val; + BrotliFillBitWindow(br, n_bits); + BrotliTakeBits(br, n_bits, &val); + return val; + } else { + uint32_t low_val; + uint32_t high_val; + BrotliFillBitWindow(br, 16); + BrotliTakeBits(br, 16, &low_val); + BrotliFillBitWindow(br, 8); + BrotliTakeBits(br, n_bits - 16, &high_val); + return low_val | (high_val << 16); + } +} + +/* Tries to read the specified amount of bits. Returns 0, if there is not + enough input. n_bits MUST be positive. */ +static BROTLI_INLINE BROTLI_BOOL BrotliSafeReadBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + while (BrotliGetAvailableBits(br) < n_bits) { + if (!BrotliPullByte(br)) { + return BROTLI_FALSE; + } + } + BrotliTakeBits(br, n_bits, val); + return BROTLI_TRUE; +} + +/* Advances the bit reader position to the next byte boundary and verifies + that any skipped bits are set to zero. */ +static BROTLI_INLINE BROTLI_BOOL BrotliJumpToByteBoundary(BrotliBitReader* br) { + uint32_t pad_bits_count = BrotliGetAvailableBits(br) & 0x7; + uint32_t pad_bits = 0; + if (pad_bits_count != 0) { + BrotliTakeBits(br, pad_bits_count, &pad_bits); + } + return TO_BROTLI_BOOL(pad_bits == 0); +} + +/* Peeks a byte at specified offset. + Precondition: bit reader is parked to a byte boundary. + Returns -1 if operation is not feasible. */ +static BROTLI_INLINE int BrotliPeekByte(BrotliBitReader* br, size_t offset) { + uint32_t available_bits = BrotliGetAvailableBits(br); + size_t bytes_left = available_bits >> 3; + BROTLI_DCHECK((available_bits & 7) == 0); + if (offset < bytes_left) { + return (BrotliGetBitsUnmasked(br) >> (unsigned)(offset << 3)) & 0xFF; + } + offset -= bytes_left; + if (offset < br->avail_in) { + return br->next_in[offset]; + } + return -1; +} + +/* Copies remaining input bytes stored in the bit reader to the output. Value + num may not be larger than BrotliGetRemainingBytes. The bit reader must be + warmed up again after this. */ +static BROTLI_INLINE void BrotliCopyBytes(uint8_t* dest, + BrotliBitReader* br, size_t num) { + while (BrotliGetAvailableBits(br) >= 8 && num > 0) { + *dest = (uint8_t)BrotliGetBitsUnmasked(br); + BrotliDropBits(br, 8); + ++dest; + --num; + } + memcpy(dest, br->next_in, num); + br->avail_in -= num; + br->next_in += num; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_BIT_READER_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/context.h b/BaseTools/Source/C/BrotliCompress/dec/context.h new file mode 100644 index 000000000000..d4e7d866a6e6 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/context.h @@ -0,0 +1,251 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Lookup table to map the previous two bytes to a context id. + + There are four different context modeling modes defined here: + CONTEXT_LSB6: context id is the least significant 6 bits of the last byte, + CONTEXT_MSB6: context id is the most significant 6 bits of the last byte, + CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text, + CONTEXT_SIGNED: second-order context model tuned for signed integers. + + The context id for the UTF8 context model is calculated as follows. If p1 + and p2 are the previous two bytes, we calculate the context as + + context = kContextLookup[p1] | kContextLookup[p2 + 256]. + + If the previous two bytes are ASCII characters (i.e. < 128), this will be + equivalent to + + context = 4 * context1(p1) + context2(p2), + + where context1 is based on the previous byte in the following way: + + 0 : non-ASCII control + 1 : \t, \n, \r + 2 : space + 3 : other punctuation + 4 : " ' + 5 : % + 6 : ( < [ { + 7 : ) > ] } + 8 : , ; : + 9 : . + 10 : = + 11 : number + 12 : upper-case vowel + 13 : upper-case consonant + 14 : lower-case vowel + 15 : lower-case consonant + + and context2 is based on the second last byte: + + 0 : control, space + 1 : punctuation + 2 : upper-case letter, number + 3 : lower-case letter + + If the last byte is ASCII, and the second last byte is not (in a valid UTF8 + stream it will be a continuation byte, value between 128 and 191), the + context is the same as if the second last byte was an ASCII control or space. + + If the last byte is a UTF8 lead byte (value >= 192), then the next byte will + be a continuation byte and the context id is 2 or 3 depending on the LSB of + the last byte and to a lesser extent on the second last byte if it is ASCII. + + If the last byte is a UTF8 continuation byte, the second last byte can be: + - continuation byte: the next byte is probably ASCII or lead byte (assuming + 4-byte UTF8 characters are rare) and the context id is 0 or 1. + - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1 + - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3 + + The possible value combinations of the previous two bytes, the range of + context ids and the type of the next byte is summarized in the table below: + + |--------\-----------------------------------------------------------------| + | \ Last byte | + | Second \---------------------------------------------------------------| + | last byte \ ASCII | cont. byte | lead byte | + | \ (0-127) | (128-191) | (192-) | + |=============|===================|=====================|==================| + | ASCII | next: ASCII/lead | not valid | next: cont. | + | (0-127) | context: 4 - 63 | | context: 2 - 3 | + |-------------|-------------------|---------------------|------------------| + | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. | + | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 | + |-------------|-------------------|---------------------|------------------| + | lead byte | not valid | next: ASCII/lead | not valid | + | (192-207) | | context: 0 - 1 | | + |-------------|-------------------|---------------------|------------------| + | lead byte | not valid | next: cont. | not valid | + | (208-) | | context: 2 - 3 | | + |-------------|-------------------|---------------------|------------------| + + The context id for the signed context mode is calculated as: + + context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2]. + + For any context modeling modes, the context ids can be calculated by |-ing + together two lookups from one table using context model dependent offsets: + + context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2]. + + where offset1 and offset2 are dependent on the context mode. +*/ + +#ifndef BROTLI_DEC_CONTEXT_H_ +#define BROTLI_DEC_CONTEXT_H_ + +#include "../common/types.h" + +enum ContextType { + CONTEXT_LSB6 = 0, + CONTEXT_MSB6 = 1, + CONTEXT_UTF8 = 2, + CONTEXT_SIGNED = 3 +}; + +/* Common context lookup table for all context modes. */ +static const uint8_t kContextLookup[1792] = { + /* CONTEXT_UTF8, last byte. */ + /* ASCII range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, + 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12, + 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, + 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12, + 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, + 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0, + /* UTF8 continuation byte range. */ + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + /* UTF8 lead byte range. */ + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + /* CONTEXT_UTF8 second last byte. */ + /* ASCII range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, + /* UTF8 continuation byte range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* UTF8 lead byte range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + /* CONTEXT_SIGNED, second last byte. */ + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, + /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */ + 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, + /* CONTEXT_LSB6, last byte. */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + /* CONTEXT_MSB6, last byte. */ + 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, + 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, + 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, + 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, + 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, + 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, + 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, + 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, + 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, + 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, + 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, + 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, + 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, + 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, + 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, + /* CONTEXT_{M,L}SB6, second last byte, */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; + +static const int kContextLookupOffsets[8] = { + /* CONTEXT_LSB6 */ + 1024, 1536, + /* CONTEXT_MSB6 */ + 1280, 1536, + /* CONTEXT_UTF8 */ + 0, 256, + /* CONTEXT_SIGNED */ + 768, 512, +}; + +#endif /* BROTLI_DEC_CONTEXT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/decode.c b/BaseTools/Source/C/BrotliCompress/dec/decode.c new file mode 100644 index 000000000000..0b3eca3644c8 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/decode.c @@ -0,0 +1,2347 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include "./decode.h" + +#ifdef __ARM_NEON__ +#include +#endif + +#include /* free, malloc */ +#include /* memcpy, memset */ + +#include "../common/constants.h" +#include "../common/dictionary.h" +#include "./bit_reader.h" +#include "./context.h" +#include "./huffman.h" +#include "./port.h" +#include "./prefix.h" +#include "./state.h" +#include "./transform.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define BROTLI_FAILURE(CODE) (BROTLI_DUMP(), CODE) + +#define BROTLI_LOG_UINT(name) \ + BROTLI_LOG(("[%s] %s = %lu\n", __func__, #name, (unsigned long)(name))) +#define BROTLI_LOG_ARRAY_INDEX(array_name, idx) \ + BROTLI_LOG(("[%s] %s[%lu] = %lu\n", __func__, #array_name, \ + (unsigned long)(idx), (unsigned long)array_name[idx])) + +#define HUFFMAN_TABLE_BITS 8U +#define HUFFMAN_TABLE_MASK 0xff + +static const uint8_t kCodeLengthCodeOrder[BROTLI_CODE_LENGTH_CODES] = { + 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15, +}; + +/* Static prefix code for the complex code length code lengths. */ +static const uint8_t kCodeLengthPrefixLength[16] = { + 2, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 2, 4, +}; + +static const uint8_t kCodeLengthPrefixValue[16] = { + 0, 4, 3, 2, 0, 4, 3, 1, 0, 4, 3, 2, 0, 4, 3, 5, +}; + +BrotliDecoderState* BrotliDecoderCreateInstance( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) { + BrotliDecoderState* state = 0; + if (!alloc_func && !free_func) { + state = (BrotliDecoderState*)malloc(sizeof(BrotliDecoderState)); + } else if (alloc_func && free_func) { + state = (BrotliDecoderState*)alloc_func(opaque, sizeof(BrotliDecoderState)); + } + if (state == 0) { + BROTLI_DUMP(); + return 0; + } + BrotliDecoderStateInitWithCustomAllocators( + state, alloc_func, free_func, opaque); + state->error_code = BROTLI_DECODER_NO_ERROR; + return state; +} + +/* Deinitializes and frees BrotliDecoderState instance. */ +void BrotliDecoderDestroyInstance(BrotliDecoderState* state) { + if (!state) { + return; + } else { + brotli_free_func free_func = state->free_func; + void* opaque = state->memory_manager_opaque; + BrotliDecoderStateCleanup(state); + free_func(opaque, state); + } +} + +/* Saves error code and converts it to BrotliDecoderResult */ +static BROTLI_NOINLINE BrotliDecoderResult SaveErrorCode( + BrotliDecoderState* s, BrotliDecoderErrorCode e) { + s->error_code = (int)e; + switch (e) { + case BROTLI_DECODER_SUCCESS: + return BROTLI_DECODER_RESULT_SUCCESS; + case BROTLI_DECODER_NEEDS_MORE_INPUT: + return BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT; + case BROTLI_DECODER_NEEDS_MORE_OUTPUT: + return BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT; + default: + return BROTLI_DECODER_RESULT_ERROR; + } +} + +/* Decodes a number in the range [9..24], by reading 1 - 7 bits. + Precondition: bit-reader accumulator has at least 7 bits. */ +static uint32_t DecodeWindowBits(BrotliBitReader* br) { + uint32_t n; + BrotliTakeBits(br, 1, &n); + if (n == 0) { + return 16; + } + BrotliTakeBits(br, 3, &n); + if (n != 0) { + return 17 + n; + } + BrotliTakeBits(br, 3, &n); + if (n != 0) { + return 8 + n; + } + return 17; +} + +static BROTLI_INLINE void memmove16(uint8_t* dst, uint8_t* src) { +#if defined(__ARM_NEON__) + vst1q_u8(dst, vld1q_u8(src)); +#else + uint32_t buffer[4]; + memcpy(buffer, src, 16); + memcpy(dst, buffer, 16); +#endif +} + +/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */ +static BROTLI_NOINLINE BrotliDecoderErrorCode DecodeVarLenUint8( + BrotliDecoderState* s, BrotliBitReader* br, uint32_t* value) { + uint32_t bits; + switch (s->substate_decode_uint8) { + case BROTLI_STATE_DECODE_UINT8_NONE: + if (PREDICT_FALSE(!BrotliSafeReadBits(br, 1, &bits))) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (bits == 0) { + *value = 0; + return BROTLI_DECODER_SUCCESS; + } + /* No break, transit to the next state. */ + + case BROTLI_STATE_DECODE_UINT8_SHORT: + if (PREDICT_FALSE(!BrotliSafeReadBits(br, 3, &bits))) { + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_SHORT; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (bits == 0) { + *value = 1; + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE; + return BROTLI_DECODER_SUCCESS; + } + /* Use output value as a temporary storage. It MUST be persisted. */ + *value = bits; + /* No break, transit to the next state. */ + + case BROTLI_STATE_DECODE_UINT8_LONG: + if (PREDICT_FALSE(!BrotliSafeReadBits(br, *value, &bits))) { + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_LONG; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + *value = (1U << *value) + bits; + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE; + return BROTLI_DECODER_SUCCESS; + + default: + return + BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE); + } +} + +/* Decodes a metablock length and flags by reading 2 - 31 bits. */ +static BrotliDecoderErrorCode BROTLI_NOINLINE DecodeMetaBlockLength( + BrotliDecoderState* s, BrotliBitReader* br) { + uint32_t bits; + int i; + for (;;) { + switch (s->substate_metablock_header) { + case BROTLI_STATE_METABLOCK_HEADER_NONE: + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->is_last_metablock = (uint8_t)bits; + s->meta_block_remaining_len = 0; + s->is_uncompressed = 0; + s->is_metadata = 0; + if (!s->is_last_metablock) { + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES; + break; + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_EMPTY; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_EMPTY: + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (bits) { + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_DECODER_SUCCESS; + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_NIBBLES: + if (!BrotliSafeReadBits(br, 2, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->size_nibbles = (uint8_t)(bits + 4); + s->loop_counter = 0; + if (bits == 3) { + s->is_metadata = 1; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_RESERVED; + break; + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_SIZE; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_SIZE: + i = s->loop_counter; + for (; i < s->size_nibbles; ++i) { + if (!BrotliSafeReadBits(br, 4, &bits)) { + s->loop_counter = i; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (i + 1 == s->size_nibbles && s->size_nibbles > 4 && bits == 0) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE); + } + s->meta_block_remaining_len |= (int)(bits << (i * 4)); + } + s->substate_metablock_header = + BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED: + if (!s->is_last_metablock) { + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->is_uncompressed = (uint8_t)bits; + } + ++s->meta_block_remaining_len; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_DECODER_SUCCESS; + + case BROTLI_STATE_METABLOCK_HEADER_RESERVED: + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (bits != 0) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_RESERVED); + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_BYTES; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_BYTES: + if (!BrotliSafeReadBits(br, 2, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (bits == 0) { + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_DECODER_SUCCESS; + } + s->size_nibbles = (uint8_t)bits; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_METADATA; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_METADATA: + i = s->loop_counter; + for (; i < s->size_nibbles; ++i) { + if (!BrotliSafeReadBits(br, 8, &bits)) { + s->loop_counter = i; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (i + 1 == s->size_nibbles && s->size_nibbles > 1 && bits == 0) { + return BROTLI_FAILURE( + BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE); + } + s->meta_block_remaining_len |= (int)(bits << (i * 8)); + } + ++s->meta_block_remaining_len; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_DECODER_SUCCESS; + + default: + return + BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE); + } + } +} + +/* Decodes the Huffman code. + This method doesn't read data from the bit reader, BUT drops the amount of + bits that correspond to the decoded symbol. + bits MUST contain at least 15 (BROTLI_HUFFMAN_MAX_CODE_LENGTH) valid bits. */ +static BROTLI_INLINE uint32_t DecodeSymbol(uint32_t bits, + const HuffmanCode* table, + BrotliBitReader* br) { + table += bits & HUFFMAN_TABLE_MASK; + if (table->bits > HUFFMAN_TABLE_BITS) { + uint32_t nbits = table->bits - HUFFMAN_TABLE_BITS; + BrotliDropBits(br, HUFFMAN_TABLE_BITS); + table += table->value; + table += (bits >> HUFFMAN_TABLE_BITS) & BitMask(nbits); + } + BrotliDropBits(br, table->bits); + return table->value; +} + +/* Reads and decodes the next Huffman code from bit-stream. + This method peeks 16 bits of input and drops 0 - 15 of them. */ +static BROTLI_INLINE uint32_t ReadSymbol(const HuffmanCode* table, + BrotliBitReader* br) { + return DecodeSymbol(BrotliGet16BitsUnmasked(br), table, br); +} + +/* Same as DecodeSymbol, but it is known that there is less than 15 bits of + input are currently available. */ +static BROTLI_NOINLINE BROTLI_BOOL SafeDecodeSymbol( + const HuffmanCode* table, BrotliBitReader* br, uint32_t* result) { + uint32_t val; + uint32_t available_bits = BrotliGetAvailableBits(br); + if (available_bits == 0) { + if (table->bits == 0) { + *result = table->value; + return BROTLI_TRUE; + } + return BROTLI_FALSE; /* No valid bits at all. */ + } + val = (uint32_t)BrotliGetBitsUnmasked(br); + table += val & HUFFMAN_TABLE_MASK; + if (table->bits <= HUFFMAN_TABLE_BITS) { + if (table->bits <= available_bits) { + BrotliDropBits(br, table->bits); + *result = table->value; + return BROTLI_TRUE; + } else { + return BROTLI_FALSE; /* Not enough bits for the first level. */ + } + } + if (available_bits <= HUFFMAN_TABLE_BITS) { + return BROTLI_FALSE; /* Not enough bits to move to the second level. */ + } + + /* Speculatively drop HUFFMAN_TABLE_BITS. */ + val = (val & BitMask(table->bits)) >> HUFFMAN_TABLE_BITS; + available_bits -= HUFFMAN_TABLE_BITS; + table += table->value + val; + if (available_bits < table->bits) { + return BROTLI_FALSE; /* Not enough bits for the second level. */ + } + + BrotliDropBits(br, HUFFMAN_TABLE_BITS + table->bits); + *result = table->value; + return BROTLI_TRUE; +} + +static BROTLI_INLINE BROTLI_BOOL SafeReadSymbol( + const HuffmanCode* table, BrotliBitReader* br, uint32_t* result) { + uint32_t val; + if (PREDICT_TRUE(BrotliSafeGetBits(br, 15, &val))) { + *result = DecodeSymbol(val, table, br); + return BROTLI_TRUE; + } + return SafeDecodeSymbol(table, br, result); +} + +/* Makes a look-up in first level Huffman table. Peeks 8 bits. */ +static BROTLI_INLINE void PreloadSymbol(int safe, + const HuffmanCode* table, + BrotliBitReader* br, + uint32_t* bits, + uint32_t* value) { + if (safe) { + return; + } + table += BrotliGetBits(br, HUFFMAN_TABLE_BITS); + *bits = table->bits; + *value = table->value; +} + +/* Decodes the next Huffman code using data prepared by PreloadSymbol. + Reads 0 - 15 bits. Also peeks 8 following bits. */ +static BROTLI_INLINE uint32_t ReadPreloadedSymbol(const HuffmanCode* table, + BrotliBitReader* br, + uint32_t* bits, + uint32_t* value) { + uint32_t result = *value; + if (PREDICT_FALSE(*bits > HUFFMAN_TABLE_BITS)) { + uint32_t val = BrotliGet16BitsUnmasked(br); + const HuffmanCode* ext = table + (val & HUFFMAN_TABLE_MASK) + *value; + uint32_t mask = BitMask((*bits - HUFFMAN_TABLE_BITS)); + BrotliDropBits(br, HUFFMAN_TABLE_BITS); + ext += (val >> HUFFMAN_TABLE_BITS) & mask; + BrotliDropBits(br, ext->bits); + result = ext->value; + } else { + BrotliDropBits(br, *bits); + } + PreloadSymbol(0, table, br, bits, value); + return result; +} + +static BROTLI_INLINE uint32_t Log2Floor(uint32_t x) { + uint32_t result = 0; + while (x) { + x >>= 1; + ++result; + } + return result; +} + +/* Reads (s->symbol + 1) symbols. + Totally 1..4 symbols are read, 1..10 bits each. + The list of symbols MUST NOT contain duplicates. + */ +static BrotliDecoderErrorCode ReadSimpleHuffmanSymbols( + uint32_t alphabet_size, BrotliDecoderState* s) { + /* max_bits == 1..10; symbol == 0..3; 1..40 bits will be read. */ + BrotliBitReader* br = &s->br; + uint32_t max_bits = Log2Floor(alphabet_size - 1); + uint32_t i = s->sub_loop_counter; + uint32_t num_symbols = s->symbol; + while (i <= num_symbols) { + uint32_t v; + if (PREDICT_FALSE(!BrotliSafeReadBits(br, max_bits, &v))) { + s->sub_loop_counter = i; + s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_READ; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (v >= alphabet_size) { + return + BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET); + } + s->symbols_lists_array[i] = (uint16_t)v; + BROTLI_LOG_UINT(s->symbols_lists_array[i]); + ++i; + } + + for (i = 0; i < num_symbols; ++i) { + uint32_t k = i + 1; + for (; k <= num_symbols; ++k) { + if (s->symbols_lists_array[i] == s->symbols_lists_array[k]) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME); + } + } + } + + return BROTLI_DECODER_SUCCESS; +} + +/* Process single decoded symbol code length: + A) reset the repeat variable + B) remember code length (if it is not 0) + C) extend corredponding index-chain + D) reduce the huffman space + E) update the histogram + */ +static BROTLI_INLINE void ProcessSingleCodeLength(uint32_t code_len, + uint32_t* symbol, uint32_t* repeat, uint32_t* space, + uint32_t* prev_code_len, uint16_t* symbol_lists, + uint16_t* code_length_histo, int* next_symbol) { + *repeat = 0; + if (code_len != 0) { /* code_len == 1..15 */ + symbol_lists[next_symbol[code_len]] = (uint16_t)(*symbol); + next_symbol[code_len] = (int)(*symbol); + *prev_code_len = code_len; + *space -= 32768U >> code_len; + code_length_histo[code_len]++; + BROTLI_LOG(("[ReadHuffmanCode] code_length[%d] = %d\n", *symbol, code_len)); + } + (*symbol)++; +} + +/* Process repeated symbol code length. + A) Check if it is the extension of previous repeat sequence; if the decoded + value is not BROTLI_REPEAT_PREVIOUS_CODE_LENGTH, then it is a new + symbol-skip + B) Update repeat variable + C) Check if operation is feasible (fits alphapet) + D) For each symbol do the same operations as in ProcessSingleCodeLength + + PRECONDITION: code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH or + code_len == BROTLI_REPEAT_ZERO_CODE_LENGTH + */ +static BROTLI_INLINE void ProcessRepeatedCodeLength(uint32_t code_len, + uint32_t repeat_delta, uint32_t alphabet_size, uint32_t* symbol, + uint32_t* repeat, uint32_t* space, uint32_t* prev_code_len, + uint32_t* repeat_code_len, uint16_t* symbol_lists, + uint16_t* code_length_histo, int* next_symbol) { + uint32_t old_repeat; + uint32_t extra_bits = 3; /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */ + uint32_t new_len = 0; /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */ + if (code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) { + new_len = *prev_code_len; + extra_bits = 2; + } + if (*repeat_code_len != new_len) { + *repeat = 0; + *repeat_code_len = new_len; + } + old_repeat = *repeat; + if (*repeat > 0) { + *repeat -= 2; + *repeat <<= extra_bits; + } + *repeat += repeat_delta + 3U; + repeat_delta = *repeat - old_repeat; + if (*symbol + repeat_delta > alphabet_size) { + BROTLI_DUMP(); + *symbol = alphabet_size; + *space = 0xFFFFF; + return; + } + BROTLI_LOG(("[ReadHuffmanCode] code_length[%d..%d] = %d\n", + *symbol, *symbol + repeat_delta - 1, *repeat_code_len)); + if (*repeat_code_len != 0) { + unsigned last = *symbol + repeat_delta; + int next = next_symbol[*repeat_code_len]; + do { + symbol_lists[next] = (uint16_t)*symbol; + next = (int)*symbol; + } while (++(*symbol) != last); + next_symbol[*repeat_code_len] = next; + *space -= repeat_delta << (15 - *repeat_code_len); + code_length_histo[*repeat_code_len] = + (uint16_t)(code_length_histo[*repeat_code_len] + repeat_delta); + } else { + *symbol += repeat_delta; + } +} + +/* Reads and decodes symbol codelengths. */ +static BrotliDecoderErrorCode ReadSymbolCodeLengths( + uint32_t alphabet_size, BrotliDecoderState* s) { + BrotliBitReader* br = &s->br; + uint32_t symbol = s->symbol; + uint32_t repeat = s->repeat; + uint32_t space = s->space; + uint32_t prev_code_len = s->prev_code_len; + uint32_t repeat_code_len = s->repeat_code_len; + uint16_t* symbol_lists = s->symbol_lists; + uint16_t* code_length_histo = s->code_length_histo; + int* next_symbol = s->next_symbol; + if (!BrotliWarmupBitReader(br)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + while (symbol < alphabet_size && space > 0) { + const HuffmanCode* p = s->table; + uint32_t code_len; + if (!BrotliCheckInputAmount(br, BROTLI_SHORT_FILL_BIT_WINDOW_READ)) { + s->symbol = symbol; + s->repeat = repeat; + s->prev_code_len = prev_code_len; + s->repeat_code_len = repeat_code_len; + s->space = space; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + BrotliFillBitWindow16(br); + p += BrotliGetBitsUnmasked(br) & + BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH); + BrotliDropBits(br, p->bits); /* Use 1..5 bits */ + code_len = p->value; /* code_len == 0..17 */ + if (code_len < BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) { + ProcessSingleCodeLength(code_len, &symbol, &repeat, &space, + &prev_code_len, symbol_lists, code_length_histo, next_symbol); + } else { /* code_len == 16..17, extra_bits == 2..3 */ + uint32_t extra_bits = + (code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) ? 2 : 3; + uint32_t repeat_delta = + (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(extra_bits); + BrotliDropBits(br, extra_bits); + ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size, + &symbol, &repeat, &space, &prev_code_len, &repeat_code_len, + symbol_lists, code_length_histo, next_symbol); + } + } + s->space = space; + return BROTLI_DECODER_SUCCESS; +} + +static BrotliDecoderErrorCode SafeReadSymbolCodeLengths( + uint32_t alphabet_size, BrotliDecoderState* s) { + BrotliBitReader* br = &s->br; + while (s->symbol < alphabet_size && s->space > 0) { + const HuffmanCode* p = s->table; + uint32_t code_len; + uint32_t bits = 0; + uint32_t available_bits = BrotliGetAvailableBits(br); + if (available_bits != 0) { + bits = (uint32_t)BrotliGetBitsUnmasked(br); + } + p += bits & BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH); + if (p->bits > available_bits) goto pullMoreInput; + code_len = p->value; /* code_len == 0..17 */ + if (code_len < BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) { + BrotliDropBits(br, p->bits); + ProcessSingleCodeLength(code_len, &s->symbol, &s->repeat, &s->space, + &s->prev_code_len, s->symbol_lists, s->code_length_histo, + s->next_symbol); + } else { /* code_len == 16..17, extra_bits == 2..3 */ + uint32_t extra_bits = code_len - 14U; + uint32_t repeat_delta = (bits >> p->bits) & BitMask(extra_bits); + if (available_bits < p->bits + extra_bits) goto pullMoreInput; + BrotliDropBits(br, p->bits + extra_bits); + ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size, + &s->symbol, &s->repeat, &s->space, &s->prev_code_len, + &s->repeat_code_len, s->symbol_lists, s->code_length_histo, + s->next_symbol); + } + continue; + +pullMoreInput: + if (!BrotliPullByte(br)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + } + return BROTLI_DECODER_SUCCESS; +} + +/* Reads and decodes 15..18 codes using static prefix code. + Each code is 2..4 bits long. In total 30..72 bits are used. */ +static BrotliDecoderErrorCode ReadCodeLengthCodeLengths(BrotliDecoderState* s) { + BrotliBitReader* br = &s->br; + uint32_t num_codes = s->repeat; + unsigned space = s->space; + uint32_t i = s->sub_loop_counter; + for (; i < BROTLI_CODE_LENGTH_CODES; ++i) { + const uint8_t code_len_idx = kCodeLengthCodeOrder[i]; + uint32_t ix; + uint32_t v; + if (PREDICT_FALSE(!BrotliSafeGetBits(br, 4, &ix))) { + uint32_t available_bits = BrotliGetAvailableBits(br); + if (available_bits != 0) { + ix = BrotliGetBitsUnmasked(br) & 0xF; + } else { + ix = 0; + } + if (kCodeLengthPrefixLength[ix] > available_bits) { + s->sub_loop_counter = i; + s->repeat = num_codes; + s->space = space; + s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + } + v = kCodeLengthPrefixValue[ix]; + BrotliDropBits(br, kCodeLengthPrefixLength[ix]); + s->code_length_code_lengths[code_len_idx] = (uint8_t)v; + BROTLI_LOG_ARRAY_INDEX(s->code_length_code_lengths, code_len_idx); + if (v != 0) { + space = space - (32U >> v); + ++num_codes; + ++s->code_length_histo[v]; + if (space - 1U >= 32U) { + /* space is 0 or wrapped around */ + break; + } + } + } + if (!(num_codes == 1 || space == 0)) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CL_SPACE); + } + return BROTLI_DECODER_SUCCESS; +} + +/* Decodes the Huffman tables. + There are 2 scenarios: + A) Huffman code contains only few symbols (1..4). Those symbols are read + directly; their code lengths are defined by the number of symbols. + For this scenario 4 - 45 bits will be read. + + B) 2-phase decoding: + B.1) Small Huffman table is decoded; it is specified with code lengths + encoded with predefined entropy code. 32 - 74 bits are used. + B.2) Decoded table is used to decode code lengths of symbols in resulting + Huffman table. In worst case 3520 bits are read. +*/ +static BrotliDecoderErrorCode ReadHuffmanCode(uint32_t alphabet_size, + HuffmanCode* table, + uint32_t* opt_table_size, + BrotliDecoderState* s) { + BrotliBitReader* br = &s->br; + /* Unnecessary masking, but might be good for safety. */ + alphabet_size &= 0x3ff; + /* State machine */ + switch (s->substate_huffman) { + case BROTLI_STATE_HUFFMAN_NONE: + if (!BrotliSafeReadBits(br, 2, &s->sub_loop_counter)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + BROTLI_LOG_UINT(s->sub_loop_counter); + /* The value is used as follows: + 1 for simple code; + 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */ + if (s->sub_loop_counter != 1) { + s->space = 32; + s->repeat = 0; /* num_codes */ + memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo[0]) * + (BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1)); + memset(&s->code_length_code_lengths[0], 0, + sizeof(s->code_length_code_lengths)); + s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX; + goto Complex; + } + /* No break, transit to the next state. */ + + case BROTLI_STATE_HUFFMAN_SIMPLE_SIZE: + /* Read symbols, codes & code lengths directly. */ + if (!BrotliSafeReadBits(br, 2, &s->symbol)) { /* num_symbols */ + s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_SIZE; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->sub_loop_counter = 0; + /* No break, transit to the next state. */ + case BROTLI_STATE_HUFFMAN_SIMPLE_READ: { + BrotliDecoderErrorCode result = + ReadSimpleHuffmanSymbols(alphabet_size, s); + if (result != BROTLI_DECODER_SUCCESS) { + return result; + } + /* No break, transit to the next state. */ + } + case BROTLI_STATE_HUFFMAN_SIMPLE_BUILD: { + uint32_t table_size; + if (s->symbol == 3) { + uint32_t bits; + if (!BrotliSafeReadBits(br, 1, &bits)) { + s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_BUILD; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->symbol += bits; + } + BROTLI_LOG_UINT(s->symbol); + table_size = BrotliBuildSimpleHuffmanTable( + table, HUFFMAN_TABLE_BITS, s->symbols_lists_array, s->symbol); + if (opt_table_size) { + *opt_table_size = table_size; + } + s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE; + return BROTLI_DECODER_SUCCESS; + } + +Complex: /* Decode Huffman-coded code lengths. */ + case BROTLI_STATE_HUFFMAN_COMPLEX: { + uint32_t i; + BrotliDecoderErrorCode result = ReadCodeLengthCodeLengths(s); + if (result != BROTLI_DECODER_SUCCESS) { + return result; + } + BrotliBuildCodeLengthsHuffmanTable(s->table, + s->code_length_code_lengths, + s->code_length_histo); + memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo)); + for (i = 0; i <= BROTLI_HUFFMAN_MAX_CODE_LENGTH; ++i) { + s->next_symbol[i] = (int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1); + s->symbol_lists[(int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1)] = 0xFFFF; + } + + s->symbol = 0; + s->prev_code_len = BROTLI_INITIAL_REPEATED_CODE_LENGTH; + s->repeat = 0; + s->repeat_code_len = 0; + s->space = 32768; + s->substate_huffman = BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS; + /* No break, transit to the next state. */ + } + case BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS: { + uint32_t table_size; + BrotliDecoderErrorCode result = ReadSymbolCodeLengths(alphabet_size, s); + if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) { + result = SafeReadSymbolCodeLengths(alphabet_size, s); + } + if (result != BROTLI_DECODER_SUCCESS) { + return result; + } + + if (s->space != 0) { + BROTLI_LOG(("[ReadHuffmanCode] space = %d\n", s->space)); + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE); + } + table_size = BrotliBuildHuffmanTable( + table, HUFFMAN_TABLE_BITS, s->symbol_lists, s->code_length_histo); + if (opt_table_size) { + *opt_table_size = table_size; + } + s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE; + return BROTLI_DECODER_SUCCESS; + } + + default: + return + BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE); + } +} + +/* Decodes a block length by reading 3..39 bits. */ +static BROTLI_INLINE uint32_t ReadBlockLength(const HuffmanCode* table, + BrotliBitReader* br) { + uint32_t code; + uint32_t nbits; + code = ReadSymbol(table, br); + nbits = kBlockLengthPrefixCode[code].nbits; /* nbits == 2..24 */ + return kBlockLengthPrefixCode[code].offset + BrotliReadBits(br, nbits); +} + +/* WARNING: if state is not BROTLI_STATE_READ_BLOCK_LENGTH_NONE, then + reading can't be continued with ReadBlockLength. */ +static BROTLI_INLINE BROTLI_BOOL SafeReadBlockLength( + BrotliDecoderState* s, uint32_t* result, const HuffmanCode* table, + BrotliBitReader* br) { + uint32_t index; + if (s->substate_read_block_length == BROTLI_STATE_READ_BLOCK_LENGTH_NONE) { + if (!SafeReadSymbol(table, br, &index)) { + return BROTLI_FALSE; + } + } else { + index = s->block_length_index; + } + { + uint32_t bits; + uint32_t nbits = kBlockLengthPrefixCode[index].nbits; /* nbits == 2..24 */ + if (!BrotliSafeReadBits(br, nbits, &bits)) { + s->block_length_index = index; + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX; + return BROTLI_FALSE; + } + *result = kBlockLengthPrefixCode[index].offset + bits; + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE; + return BROTLI_TRUE; + } +} + +/* Transform: + 1) initialize list L with values 0, 1,... 255 + 2) For each input element X: + 2.1) let Y = L[X] + 2.2) remove X-th element from L + 2.3) prepend Y to L + 2.4) append Y to output + + In most cases max(Y) <= 7, so most of L remains intact. + To reduce the cost of initialization, we reuse L, remember the upper bound + of Y values, and reinitialize only first elements in L. + + Most of input values are 0 and 1. To reduce number of branches, we replace + inner for loop with do-while. + */ +static BROTLI_NOINLINE void InverseMoveToFrontTransform( + uint8_t* v, uint32_t v_len, BrotliDecoderState* state) { + /* Reinitialize elements that could have been changed. */ + uint32_t i = 4; + uint32_t upper_bound = state->mtf_upper_bound; + uint8_t* mtf = &state->mtf[4]; /* Make mtf[-1] addressable. */ + /* Load endian-aware constant. */ + const uint8_t b0123[4] = {0, 1, 2, 3}; + uint32_t pattern; + memcpy(&pattern, &b0123, 4); + + /* Initialize list using 4 consequent values pattern. */ + *(uint32_t*)mtf = pattern; + do { + pattern += 0x04040404; /* Advance all 4 values by 4. */ + *(uint32_t*)(mtf + i) = pattern; + i += 4; + } while (i <= upper_bound); + + /* Transform the input. */ + upper_bound = 0; + for (i = 0; i < v_len; ++i) { + int index = v[i]; + uint8_t value = mtf[index]; + upper_bound |= v[i]; + v[i] = value; + mtf[-1] = value; + do { + index--; + mtf[index + 1] = mtf[index]; + } while (index >= 0); + } + /* Remember amount of elements to be reinitialized. */ + state->mtf_upper_bound = upper_bound; +} + +/* Decodes a series of Huffman table using ReadHuffmanCode function. */ +static BrotliDecoderErrorCode HuffmanTreeGroupDecode( + HuffmanTreeGroup* group, BrotliDecoderState* s) { + if (s->substate_tree_group != BROTLI_STATE_TREE_GROUP_LOOP) { + s->next = group->codes; + s->htree_index = 0; + s->substate_tree_group = BROTLI_STATE_TREE_GROUP_LOOP; + } + while (s->htree_index < group->num_htrees) { + uint32_t table_size; + BrotliDecoderErrorCode result = + ReadHuffmanCode(group->alphabet_size, s->next, &table_size, s); + if (result != BROTLI_DECODER_SUCCESS) return result; + group->htrees[s->htree_index] = s->next; + s->next += table_size; + ++s->htree_index; + } + s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE; + return BROTLI_DECODER_SUCCESS; +} + +/* Decodes a context map. + Decoding is done in 4 phases: + 1) Read auxiliary information (6..16 bits) and allocate memory. + In case of trivial context map, decoding is finished at this phase. + 2) Decode Huffman table using ReadHuffmanCode function. + This table will be used for reading context map items. + 3) Read context map items; "0" values could be run-length encoded. + 4) Optionally, apply InverseMoveToFront transform to the resulting map. + */ +static BrotliDecoderErrorCode DecodeContextMap(uint32_t context_map_size, + uint32_t* num_htrees, + uint8_t** context_map_arg, + BrotliDecoderState* s) { + BrotliBitReader* br = &s->br; + BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS; + + switch ((int)s->substate_context_map) { + case BROTLI_STATE_CONTEXT_MAP_NONE: + result = DecodeVarLenUint8(s, br, num_htrees); + if (result != BROTLI_DECODER_SUCCESS) { + return result; + } + (*num_htrees)++; + s->context_index = 0; + BROTLI_LOG_UINT(context_map_size); + BROTLI_LOG_UINT(*num_htrees); + *context_map_arg = (uint8_t*)BROTLI_ALLOC(s, (size_t)context_map_size); + if (*context_map_arg == 0) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP); + } + if (*num_htrees <= 1) { + memset(*context_map_arg, 0, (size_t)context_map_size); + return BROTLI_DECODER_SUCCESS; + } + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_READ_PREFIX; + /* No break, continue to next state. */ + case BROTLI_STATE_CONTEXT_MAP_READ_PREFIX: { + uint32_t bits; + /* In next stage ReadHuffmanCode uses at least 4 bits, so it is safe + to peek 4 bits ahead. */ + if (!BrotliSafeGetBits(br, 5, &bits)) { + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if ((bits & 1) != 0) { /* Use RLE for zeroes. */ + s->max_run_length_prefix = (bits >> 1) + 1; + BrotliDropBits(br, 5); + } else { + s->max_run_length_prefix = 0; + BrotliDropBits(br, 1); + } + BROTLI_LOG_UINT(s->max_run_length_prefix); + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_HUFFMAN; + /* No break, continue to next state. */ + } + case BROTLI_STATE_CONTEXT_MAP_HUFFMAN: + result = ReadHuffmanCode(*num_htrees + s->max_run_length_prefix, + s->context_map_table, NULL, s); + if (result != BROTLI_DECODER_SUCCESS) return result; + s->code = 0xFFFF; + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_DECODE; + /* No break, continue to next state. */ + case BROTLI_STATE_CONTEXT_MAP_DECODE: { + uint32_t context_index = s->context_index; + uint32_t max_run_length_prefix = s->max_run_length_prefix; + uint8_t* context_map = *context_map_arg; + uint32_t code = s->code; + if (code != 0xFFFF) { + goto rleCode; + } + while (context_index < context_map_size) { + if (!SafeReadSymbol(s->context_map_table, br, &code)) { + s->code = 0xFFFF; + s->context_index = context_index; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + BROTLI_LOG_UINT(code); + + if (code == 0) { + context_map[context_index++] = 0; + continue; + } + if (code > max_run_length_prefix) { + context_map[context_index++] = + (uint8_t)(code - max_run_length_prefix); + continue; + } +rleCode: + { + uint32_t reps; + if (!BrotliSafeReadBits(br, code, &reps)) { + s->code = code; + s->context_index = context_index; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + reps += 1U << code; + BROTLI_LOG_UINT(reps); + if (context_index + reps > context_map_size) { + return + BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT); + } + do { + context_map[context_index++] = 0; + } while (--reps); + } + } + /* No break, continue to next state. */ + } + case BROTLI_STATE_CONTEXT_MAP_TRANSFORM: { + uint32_t bits; + if (!BrotliSafeReadBits(br, 1, &bits)) { + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_TRANSFORM; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + if (bits != 0) { + InverseMoveToFrontTransform(*context_map_arg, context_map_size, s); + } + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE; + return BROTLI_DECODER_SUCCESS; + } + default: + return + BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE); + } +} + +/* Decodes a command or literal and updates block type ringbuffer. + Reads 3..54 bits. */ +static BROTLI_INLINE BROTLI_BOOL DecodeBlockTypeAndLength( + int safe, BrotliDecoderState* s, int tree_type) { + uint32_t max_block_type = s->num_block_types[tree_type]; + const HuffmanCode* type_tree = &s->block_type_trees[ + tree_type * BROTLI_HUFFMAN_MAX_SIZE_258]; + const HuffmanCode* len_tree = &s->block_len_trees[ + tree_type * BROTLI_HUFFMAN_MAX_SIZE_26]; + BrotliBitReader* br = &s->br; + uint32_t* ringbuffer = &s->block_type_rb[tree_type * 2]; + uint32_t block_type; + + /* Read 0..15 + 3..39 bits */ + if (!safe) { + block_type = ReadSymbol(type_tree, br); + s->block_length[tree_type] = ReadBlockLength(len_tree, br); + } else { + BrotliBitReaderState memento; + BrotliBitReaderSaveState(br, &memento); + if (!SafeReadSymbol(type_tree, br, &block_type)) return BROTLI_FALSE; + if (!SafeReadBlockLength(s, &s->block_length[tree_type], len_tree, br)) { + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE; + BrotliBitReaderRestoreState(br, &memento); + return BROTLI_FALSE; + } + } + + if (block_type == 1) { + block_type = ringbuffer[1] + 1; + } else if (block_type == 0) { + block_type = ringbuffer[0]; + } else { + block_type -= 2; + } + if (block_type >= max_block_type) { + block_type -= max_block_type; + } + ringbuffer[0] = ringbuffer[1]; + ringbuffer[1] = block_type; + return BROTLI_TRUE; +} + +static BROTLI_INLINE void DetectTrivialLiteralBlockTypes( + BrotliDecoderState* s) { + size_t i; + for (i = 0; i < 8; ++i) s->trivial_literal_contexts[i] = 0; + for (i = 0; i < s->num_block_types[0]; i++) { + size_t offset = i << BROTLI_LITERAL_CONTEXT_BITS; + size_t error = 0; + size_t sample = s->context_map[offset]; + size_t j; + for (j = 0; j < (1u << BROTLI_LITERAL_CONTEXT_BITS);) { + BROTLI_REPEAT(4, error |= s->context_map[offset + j++] ^ sample;) + } + if (error == 0) { + s->trivial_literal_contexts[i >> 5] |= 1u << (i & 31); + } + } +} + +static BROTLI_INLINE void PrepareLiteralDecoding(BrotliDecoderState* s) { + uint8_t context_mode; + size_t trivial; + uint32_t block_type = s->block_type_rb[1]; + uint32_t context_offset = block_type << BROTLI_LITERAL_CONTEXT_BITS; + s->context_map_slice = s->context_map + context_offset; + trivial = s->trivial_literal_contexts[block_type >> 5]; + s->trivial_literal_context = (trivial >> (block_type & 31)) & 1; + s->literal_htree = s->literal_hgroup.htrees[s->context_map_slice[0]]; + context_mode = s->context_modes[block_type]; + s->context_lookup1 = &kContextLookup[kContextLookupOffsets[context_mode]]; + s->context_lookup2 = &kContextLookup[kContextLookupOffsets[context_mode + 1]]; +} + +/* Decodes the block type and updates the state for literal context. + Reads 3..54 bits. */ +static BROTLI_INLINE BROTLI_BOOL DecodeLiteralBlockSwitchInternal( + int safe, BrotliDecoderState* s) { + if (!DecodeBlockTypeAndLength(safe, s, 0)) { + return BROTLI_FALSE; + } + PrepareLiteralDecoding(s); + return BROTLI_TRUE; +} + +static void BROTLI_NOINLINE DecodeLiteralBlockSwitch(BrotliDecoderState* s) { + DecodeLiteralBlockSwitchInternal(0, s); +} + +static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeLiteralBlockSwitch( + BrotliDecoderState* s) { + return DecodeLiteralBlockSwitchInternal(1, s); +} + +/* Block switch for insert/copy length. + Reads 3..54 bits. */ +static BROTLI_INLINE BROTLI_BOOL DecodeCommandBlockSwitchInternal( + int safe, BrotliDecoderState* s) { + if (!DecodeBlockTypeAndLength(safe, s, 1)) { + return BROTLI_FALSE; + } + s->htree_command = s->insert_copy_hgroup.htrees[s->block_type_rb[3]]; + return BROTLI_TRUE; +} + +static void BROTLI_NOINLINE DecodeCommandBlockSwitch(BrotliDecoderState* s) { + DecodeCommandBlockSwitchInternal(0, s); +} +static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeCommandBlockSwitch( + BrotliDecoderState* s) { + return DecodeCommandBlockSwitchInternal(1, s); +} + +/* Block switch for distance codes. + Reads 3..54 bits. */ +static BROTLI_INLINE BROTLI_BOOL DecodeDistanceBlockSwitchInternal( + int safe, BrotliDecoderState* s) { + if (!DecodeBlockTypeAndLength(safe, s, 2)) { + return BROTLI_FALSE; + } + s->dist_context_map_slice = s->dist_context_map + + (s->block_type_rb[5] << BROTLI_DISTANCE_CONTEXT_BITS); + s->dist_htree_index = s->dist_context_map_slice[s->distance_context]; + return BROTLI_TRUE; +} + +static void BROTLI_NOINLINE DecodeDistanceBlockSwitch(BrotliDecoderState* s) { + DecodeDistanceBlockSwitchInternal(0, s); +} + +static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeDistanceBlockSwitch( + BrotliDecoderState* s) { + return DecodeDistanceBlockSwitchInternal(1, s); +} + +static size_t UnwrittenBytes(const BrotliDecoderState* s, BROTLI_BOOL wrap) { + size_t pos = wrap && s->pos > s->ringbuffer_size ? + (size_t)s->ringbuffer_size : (size_t)(s->pos); + size_t partial_pos_rb = (s->rb_roundtrips * (size_t)s->ringbuffer_size) + pos; + return partial_pos_rb - s->partial_pos_out; +} + +static BrotliDecoderErrorCode BROTLI_NOINLINE WriteRingBuffer( + BrotliDecoderState* s, size_t* available_out, uint8_t** next_out, + size_t* total_out) { + uint8_t* start = + s->ringbuffer + (s->partial_pos_out & (size_t)s->ringbuffer_mask); + size_t to_write = UnwrittenBytes(s, BROTLI_TRUE); + size_t num_written = *available_out; + if (num_written > to_write) { + num_written = to_write; + } + if (s->meta_block_remaining_len < 0) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1); + } + memcpy(*next_out, start, num_written); + *next_out += num_written; + *available_out -= num_written; + BROTLI_LOG_UINT(to_write); + BROTLI_LOG_UINT(num_written); + s->partial_pos_out += num_written; + if (total_out) *total_out = s->partial_pos_out; + if (num_written < to_write) { + return BROTLI_DECODER_NEEDS_MORE_OUTPUT; + } + + if (s->pos >= s->ringbuffer_size) { + s->pos -= s->ringbuffer_size; + s->rb_roundtrips++; + } + return BROTLI_DECODER_SUCCESS; +} + +/* Allocates ringbuffer. + + s->ringbuffer_size MUST be updated by BrotliCalculateRingBufferSize before + this function is called. + + Last two bytes of ringbuffer are initialized to 0, so context calculation + could be done uniformly for the first two and all other positions. + + Custom dictionary, if any, is copied to the end of ringbuffer. +*/ +static BROTLI_BOOL BROTLI_NOINLINE BrotliAllocateRingBuffer( + BrotliDecoderState* s) { + /* We need the slack region for the following reasons: + - doing up to two 16-byte copies for fast backward copying + - inserting transformed dictionary word (5 prefix + 24 base + 8 suffix) */ + static const int kRingBufferWriteAheadSlack = 42; + s->ringbuffer = (uint8_t*)BROTLI_ALLOC(s, (size_t)(s->ringbuffer_size + + kRingBufferWriteAheadSlack)); + if (s->ringbuffer == 0) { + return BROTLI_FALSE; + } + + s->ringbuffer_end = s->ringbuffer + s->ringbuffer_size; + + s->ringbuffer[s->ringbuffer_size - 2] = 0; + s->ringbuffer[s->ringbuffer_size - 1] = 0; + + if (s->custom_dict) { + memcpy(&s->ringbuffer[(-s->custom_dict_size) & s->ringbuffer_mask], + s->custom_dict, (size_t)s->custom_dict_size); + } + + return BROTLI_TRUE; +} + +static BrotliDecoderErrorCode BROTLI_NOINLINE CopyUncompressedBlockToOutput( + size_t* available_out, uint8_t** next_out, size_t* total_out, + BrotliDecoderState* s) { + /* TODO: avoid allocation for single uncompressed block. */ + if (!s->ringbuffer && !BrotliAllocateRingBuffer(s)) { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1); + } + + /* State machine */ + for (;;) { + switch (s->substate_uncompressed) { + case BROTLI_STATE_UNCOMPRESSED_NONE: { + int nbytes = (int)BrotliGetRemainingBytes(&s->br); + if (nbytes > s->meta_block_remaining_len) { + nbytes = s->meta_block_remaining_len; + } + if (s->pos + nbytes > s->ringbuffer_size) { + nbytes = s->ringbuffer_size - s->pos; + } + /* Copy remaining bytes from s->br.buf_ to ringbuffer. */ + BrotliCopyBytes(&s->ringbuffer[s->pos], &s->br, (size_t)nbytes); + s->pos += nbytes; + s->meta_block_remaining_len -= nbytes; + if (s->pos < s->ringbuffer_size) { + if (s->meta_block_remaining_len == 0) { + return BROTLI_DECODER_SUCCESS; + } + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_WRITE; + /* No break, continue to next state */ + } + case BROTLI_STATE_UNCOMPRESSED_WRITE: { + BrotliDecoderErrorCode result = + WriteRingBuffer(s, available_out, next_out, total_out); + if (result != BROTLI_DECODER_SUCCESS) { + return result; + } + s->max_distance = s->max_backward_distance; + s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE; + break; + } + } + } + BROTLI_DCHECK(0); /* Unreachable */ +} + +BROTLI_BOOL BrotliDecompressedSize(size_t encoded_size, + const uint8_t* encoded_buffer, + size_t* decoded_size) { + size_t total_size = 0; + BrotliDecoderState s; + BrotliBitReader* br; + BrotliDecoderStateInit(&s); + br = &s.br; + *decoded_size = 0; + br->next_in = encoded_buffer; + br->avail_in = encoded_size; + if (!BrotliWarmupBitReader(br)) return BROTLI_FALSE; + DecodeWindowBits(br); + while (1) { + size_t block_size; + if (DecodeMetaBlockLength(&s, br) != BROTLI_DECODER_SUCCESS) { + return BROTLI_FALSE; + } + block_size = (size_t)s.meta_block_remaining_len; + if (!s.is_metadata) { + if ((block_size + total_size) < total_size) return BROTLI_FALSE; + total_size += block_size; + } + if (s.is_last_metablock) { + *decoded_size = total_size; + return BROTLI_TRUE; + } + if (!s.is_uncompressed && !s.is_metadata) return BROTLI_FALSE; + if (!BrotliJumpToByteBoundary(br)) return BROTLI_FALSE; + BrotliBitReaderUnload(br); + if (br->avail_in < block_size) return BROTLI_FALSE; + br->avail_in -= block_size; + br->next_in += block_size; + if (!BrotliWarmupBitReader(br)) return BROTLI_FALSE; + } +} + +/* Calculates the smallest feasible ring buffer. + + If we know the data size is small, do not allocate more ringbuffer + size than needed to reduce memory usage. + + When this method is called, metablock size and flags MUST be decoded. +*/ +static void BROTLI_NOINLINE BrotliCalculateRingBufferSize( + BrotliDecoderState* s, BrotliBitReader* br) { + BROTLI_BOOL is_last = TO_BROTLI_BOOL(s->is_last_metablock); + int window_size = 1 << s->window_bits; + s->ringbuffer_size = window_size; + + if (s->is_uncompressed) { + int next_block_header = + BrotliPeekByte(br, (size_t)s->meta_block_remaining_len); + if (next_block_header != -1) { /* Peek succeeded */ + if ((next_block_header & 3) == 3) { /* ISLAST and ISEMPTY */ + is_last = BROTLI_TRUE; + } + } + } + + /* We need at least 2 bytes of ring buffer size to get the last two + bytes for context from there */ + if (is_last) { + int min_size_x2 = (s->meta_block_remaining_len + s->custom_dict_size) * 2; + while (s->ringbuffer_size >= min_size_x2 && s->ringbuffer_size > 32) { + s->ringbuffer_size >>= 1; + } + } + + s->ringbuffer_mask = s->ringbuffer_size - 1; +} + +/* Reads 1..256 2-bit context modes. */ +static BrotliDecoderErrorCode ReadContextModes(BrotliDecoderState* s) { + BrotliBitReader* br = &s->br; + int i = s->loop_counter; + + while (i < (int)s->num_block_types[0]) { + uint32_t bits; + if (!BrotliSafeReadBits(br, 2, &bits)) { + s->loop_counter = i; + return BROTLI_DECODER_NEEDS_MORE_INPUT; + } + s->context_modes[i] = (uint8_t)(bits << 1); + BROTLI_LOG_ARRAY_INDEX(s->context_modes, i); + i++; + } + return BROTLI_DECODER_SUCCESS; +} + +static BROTLI_INLINE void TakeDistanceFromRingBuffer(BrotliDecoderState* s) { + if (s->distance_code == 0) { + --s->dist_rb_idx; + s->distance_code = s->dist_rb[s->dist_rb_idx & 3]; + } else { + int distance_code = s->distance_code << 1; + /* kDistanceShortCodeIndexOffset has 2-bit values from LSB: */ + /* 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 */ + const uint32_t kDistanceShortCodeIndexOffset = 0xaaafff1b; + /* kDistanceShortCodeValueOffset has 2-bit values from LSB: */ + /*-0, 0,-0, 0,-1, 1,-2, 2,-3, 3,-1, 1,-2, 2,-3, 3 */ + const uint32_t kDistanceShortCodeValueOffset = 0xfa5fa500; + int v = (s->dist_rb_idx + + (int)(kDistanceShortCodeIndexOffset >> distance_code)) & 0x3; + s->distance_code = s->dist_rb[v]; + v = (int)(kDistanceShortCodeValueOffset >> distance_code) & 0x3; + if ((distance_code & 0x3) != 0) { + s->distance_code += v; + } else { + s->distance_code -= v; + if (s->distance_code <= 0) { + /* A huge distance will cause a BROTLI_FAILURE() soon. */ + /* This is a little faster than failing here. */ + s->distance_code = 0x0fffffff; + } + } + } +} + +static BROTLI_INLINE BROTLI_BOOL SafeReadBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + if (n_bits != 0) { + return BrotliSafeReadBits(br, n_bits, val); + } else { + *val = 0; + return BROTLI_TRUE; + } +} + +/* Precondition: s->distance_code < 0 */ +static BROTLI_INLINE BROTLI_BOOL ReadDistanceInternal( + int safe, BrotliDecoderState* s, BrotliBitReader* br) { + int distval; + BrotliBitReaderState memento; + HuffmanCode* distance_tree = s->distance_hgroup.htrees[s->dist_htree_index]; + if (!safe) { + s->distance_code = (int)ReadSymbol(distance_tree, br); + } else { + uint32_t code; + BrotliBitReaderSaveState(br, &memento); + if (!SafeReadSymbol(distance_tree, br, &code)) { + return BROTLI_FALSE; + } + s->distance_code = (int)code; + } + /* Convert the distance code to the actual distance by possibly */ + /* looking up past distances from the s->ringbuffer. */ + if ((s->distance_code & ~0xf) == 0) { + TakeDistanceFromRingBuffer(s); + --s->block_length[2]; + return BROTLI_TRUE; + } + distval = s->distance_code - (int)s->num_direct_distance_codes; + if (distval >= 0) { + uint32_t nbits; + int postfix; + int offset; + if (!safe && (s->distance_postfix_bits == 0)) { + nbits = ((uint32_t)distval >> 1) + 1; + offset = ((2 + (distval & 1)) << nbits) - 4; + s->distance_code = (int)s->num_direct_distance_codes + offset + + (int)BrotliReadBits(br, nbits); + } else { + /* This branch also works well when s->distance_postfix_bits == 0 */ + uint32_t bits; + postfix = distval & s->distance_postfix_mask; + distval >>= s->distance_postfix_bits; + nbits = ((uint32_t)distval >> 1) + 1; + if (safe) { + if (!SafeReadBits(br, nbits, &bits)) { + s->distance_code = -1; /* Restore precondition. */ + BrotliBitReaderRestoreState(br, &memento); + return BROTLI_FALSE; + } + } else { + bits = BrotliReadBits(br, nbits); + } + offset = ((2 + (distval & 1)) << nbits) - 4; + s->distance_code = (int)s->num_direct_distance_codes + + ((offset + (int)bits) << s->distance_postfix_bits) + postfix; + } + } + s->distance_code = s->distance_code - BROTLI_NUM_DISTANCE_SHORT_CODES + 1; + --s->block_length[2]; + return BROTLI_TRUE; +} + +static BROTLI_INLINE void ReadDistance( + BrotliDecoderState* s, BrotliBitReader* br) { + ReadDistanceInternal(0, s, br); +} + +static BROTLI_INLINE BROTLI_BOOL SafeReadDistance( + BrotliDecoderState* s, BrotliBitReader* br) { + return ReadDistanceInternal(1, s, br); +} + +static BROTLI_INLINE BROTLI_BOOL ReadCommandInternal( + int safe, BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) { + uint32_t cmd_code; + uint32_t insert_len_extra = 0; + uint32_t copy_length; + CmdLutElement v; + BrotliBitReaderState memento; + if (!safe) { + cmd_code = ReadSymbol(s->htree_command, br); + } else { + BrotliBitReaderSaveState(br, &memento); + if (!SafeReadSymbol(s->htree_command, br, &cmd_code)) { + return BROTLI_FALSE; + } + } + v = kCmdLut[cmd_code]; + s->distance_code = v.distance_code; + s->distance_context = v.context; + s->dist_htree_index = s->dist_context_map_slice[s->distance_context]; + *insert_length = v.insert_len_offset; + if (!safe) { + if (PREDICT_FALSE(v.insert_len_extra_bits != 0)) { + insert_len_extra = BrotliReadBits(br, v.insert_len_extra_bits); + } + copy_length = BrotliReadBits(br, v.copy_len_extra_bits); + } else { + if (!SafeReadBits(br, v.insert_len_extra_bits, &insert_len_extra) || + !SafeReadBits(br, v.copy_len_extra_bits, ©_length)) { + BrotliBitReaderRestoreState(br, &memento); + return BROTLI_FALSE; + } + } + s->copy_length = (int)copy_length + v.copy_len_offset; + --s->block_length[1]; + *insert_length += (int)insert_len_extra; + return BROTLI_TRUE; +} + +static BROTLI_INLINE void ReadCommand( + BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) { + ReadCommandInternal(0, s, br, insert_length); +} + +static BROTLI_INLINE BROTLI_BOOL SafeReadCommand( + BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) { + return ReadCommandInternal(1, s, br, insert_length); +} + +static BROTLI_INLINE BROTLI_BOOL CheckInputAmount( + int safe, BrotliBitReader* const br, size_t num) { + if (safe) { + return BROTLI_TRUE; + } + return BrotliCheckInputAmount(br, num); +} + +#define BROTLI_SAFE(METHOD) \ + { \ + if (safe) { \ + if (!Safe##METHOD) { \ + result = BROTLI_DECODER_NEEDS_MORE_INPUT; \ + goto saveStateAndReturn; \ + } \ + } else { \ + METHOD; \ + } \ + } + +static BROTLI_INLINE BrotliDecoderErrorCode ProcessCommandsInternal( + int safe, BrotliDecoderState* s) { + int pos = s->pos; + int i = s->loop_counter; + BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS; + BrotliBitReader* br = &s->br; + + if (!CheckInputAmount(safe, br, 28)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (!safe) { + BROTLI_UNUSED(BrotliWarmupBitReader(br)); + } + + /* Jump into state machine. */ + if (s->state == BROTLI_STATE_COMMAND_BEGIN) { + goto CommandBegin; + } else if (s->state == BROTLI_STATE_COMMAND_INNER) { + goto CommandInner; + } else if (s->state == BROTLI_STATE_COMMAND_POST_DECODE_LITERALS) { + goto CommandPostDecodeLiterals; + } else if (s->state == BROTLI_STATE_COMMAND_POST_WRAP_COPY) { + goto CommandPostWrapCopy; + } else { + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE); + } + +CommandBegin: + if (safe) { + s->state = BROTLI_STATE_COMMAND_BEGIN; + } + if (!CheckInputAmount(safe, br, 28)) { /* 156 bits + 7 bytes */ + s->state = BROTLI_STATE_COMMAND_BEGIN; + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (PREDICT_FALSE(s->block_length[1] == 0)) { + BROTLI_SAFE(DecodeCommandBlockSwitch(s)); + goto CommandBegin; + } + /* Read the insert/copy length in the command */ + BROTLI_SAFE(ReadCommand(s, br, &i)); + BROTLI_LOG(("[ProcessCommandsInternal] pos = %d insert = %d copy = %d\n", + pos, i, s->copy_length)); + if (i == 0) { + goto CommandPostDecodeLiterals; + } + s->meta_block_remaining_len -= i; + +CommandInner: + if (safe) { + s->state = BROTLI_STATE_COMMAND_INNER; + } + /* Read the literals in the command */ + if (s->trivial_literal_context) { + uint32_t bits; + uint32_t value; + PreloadSymbol(safe, s->literal_htree, br, &bits, &value); + do { + if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */ + s->state = BROTLI_STATE_COMMAND_INNER; + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (PREDICT_FALSE(s->block_length[0] == 0)) { + BROTLI_SAFE(DecodeLiteralBlockSwitch(s)); + PreloadSymbol(safe, s->literal_htree, br, &bits, &value); + if (!s->trivial_literal_context) goto CommandInner; + } + if (!safe) { + s->ringbuffer[pos] = + (uint8_t)ReadPreloadedSymbol(s->literal_htree, br, &bits, &value); + } else { + uint32_t literal; + if (!SafeReadSymbol(s->literal_htree, br, &literal)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + s->ringbuffer[pos] = (uint8_t)literal; + } + --s->block_length[0]; + BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos); + ++pos; + if (PREDICT_FALSE(pos == s->ringbuffer_size)) { + s->state = BROTLI_STATE_COMMAND_INNER_WRITE; + --i; + goto saveStateAndReturn; + } + } while (--i != 0); + } else { + uint8_t p1 = s->ringbuffer[(pos - 1) & s->ringbuffer_mask]; + uint8_t p2 = s->ringbuffer[(pos - 2) & s->ringbuffer_mask]; + do { + const HuffmanCode* hc; + uint8_t context; + if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */ + s->state = BROTLI_STATE_COMMAND_INNER; + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (PREDICT_FALSE(s->block_length[0] == 0)) { + BROTLI_SAFE(DecodeLiteralBlockSwitch(s)); + if (s->trivial_literal_context) goto CommandInner; + } + context = s->context_lookup1[p1] | s->context_lookup2[p2]; + BROTLI_LOG_UINT(context); + hc = s->literal_hgroup.htrees[s->context_map_slice[context]]; + p2 = p1; + if (!safe) { + p1 = (uint8_t)ReadSymbol(hc, br); + } else { + uint32_t literal; + if (!SafeReadSymbol(hc, br, &literal)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + p1 = (uint8_t)literal; + } + s->ringbuffer[pos] = p1; + --s->block_length[0]; + BROTLI_LOG_UINT(s->context_map_slice[context]); + BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos & s->ringbuffer_mask); + ++pos; + if (PREDICT_FALSE(pos == s->ringbuffer_size)) { + s->state = BROTLI_STATE_COMMAND_INNER_WRITE; + --i; + goto saveStateAndReturn; + } + } while (--i != 0); + } + BROTLI_LOG_UINT(s->meta_block_remaining_len); + if (PREDICT_FALSE(s->meta_block_remaining_len <= 0)) { + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } + +CommandPostDecodeLiterals: + if (safe) { + s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS; + } + if (s->distance_code >= 0) { + --s->dist_rb_idx; + s->distance_code = s->dist_rb[s->dist_rb_idx & 3]; + goto postReadDistance; /* We already have the implicit distance */ + } + /* Read distance code in the command, unless it was implicitly zero. */ + if (PREDICT_FALSE(s->block_length[2] == 0)) { + BROTLI_SAFE(DecodeDistanceBlockSwitch(s)); + } + BROTLI_SAFE(ReadDistance(s, br)); +postReadDistance: + BROTLI_LOG(("[ProcessCommandsInternal] pos = %d distance = %d\n", + pos, s->distance_code)); + if (s->max_distance != s->max_backward_distance) { + if (pos < s->max_backward_distance_minus_custom_dict_size) { + s->max_distance = pos + s->custom_dict_size; + } else { + s->max_distance = s->max_backward_distance; + } + } + i = s->copy_length; + /* Apply copy of LZ77 back-reference, or static dictionary reference if + the distance is larger than the max LZ77 distance */ + if (s->distance_code > s->max_distance) { + if (i >= kBrotliMinDictionaryWordLength && + i <= kBrotliMaxDictionaryWordLength) { + int offset = (int)kBrotliDictionaryOffsetsByLength[i]; + int word_id = s->distance_code - s->max_distance - 1; + uint32_t shift = kBrotliDictionarySizeBitsByLength[i]; + int mask = (int)BitMask(shift); + int word_idx = word_id & mask; + int transform_idx = word_id >> shift; + offset += word_idx * i; + if (transform_idx < kNumTransforms) { + const uint8_t* word = &kBrotliDictionary[offset]; + int len = i; + if (transform_idx == 0) { + memcpy(&s->ringbuffer[pos], word, (size_t)len); + } else { + len = TransformDictionaryWord( + &s->ringbuffer[pos], word, len, transform_idx); + } + pos += len; + s->meta_block_remaining_len -= len; + if (pos >= s->ringbuffer_size) { + /*s->partial_pos_rb += (size_t)s->ringbuffer_size;*/ + s->state = BROTLI_STATE_COMMAND_POST_WRITE_1; + goto saveStateAndReturn; + } + } else { + BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d " + "len: %d bytes left: %d\n", + pos, s->distance_code, i, s->meta_block_remaining_len)); + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_TRANSFORM); + } + } else { + BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d " + "len: %d bytes left: %d\n", + pos, s->distance_code, i, s->meta_block_remaining_len)); + return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_DICTIONARY); + } + } else { + int src_start = (pos - s->distance_code) & s->ringbuffer_mask; + uint8_t* copy_dst = &s->ringbuffer[pos]; + uint8_t* copy_src = &s->ringbuffer[src_start]; + int dst_end = pos + i; + int src_end = src_start + i; + /* update the recent distances cache */ + s->dist_rb[s->dist_rb_idx & 3] = s->distance_code; + ++s->dist_rb_idx; + s->meta_block_remaining_len -= i; + /* There are 32+ bytes of slack in the ringbuffer allocation. + Also, we have 16 short codes, that make these 16 bytes irrelevant + in the ringbuffer. Let's copy over them as a first guess. + */ + memmove16(copy_dst, copy_src); + if (src_end > pos && dst_end > src_start) { + /* Regions intersect. */ + goto CommandPostWrapCopy; + } + if (dst_end >= s->ringbuffer_size || src_end >= s->ringbuffer_size) { + /* At least one region wraps. */ + goto CommandPostWrapCopy; + } + pos += i; + if (i > 16) { + if (i > 32) { + memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16)); + } else { + /* This branch covers about 45% cases. + Fixed size short copy allows more compiler optimizations. */ + memmove16(copy_dst + 16, copy_src + 16); + } + } + } + BROTLI_LOG_UINT(s->meta_block_remaining_len); + if (s->meta_block_remaining_len <= 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } else { + goto CommandBegin; + } +CommandPostWrapCopy: + { + int wrap_guard = s->ringbuffer_size - pos; + while (--i >= 0) { + s->ringbuffer[pos] = + s->ringbuffer[(pos - s->distance_code) & s->ringbuffer_mask]; + ++pos; + if (PREDICT_FALSE(--wrap_guard == 0)) { + s->state = BROTLI_STATE_COMMAND_POST_WRITE_2; + goto saveStateAndReturn; + } + } + } + if (s->meta_block_remaining_len <= 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } else { + goto CommandBegin; + } + +saveStateAndReturn: + s->pos = pos; + s->loop_counter = i; + return result; +} + +#undef BROTLI_SAFE + +static BROTLI_NOINLINE BrotliDecoderErrorCode ProcessCommands( + BrotliDecoderState* s) { + return ProcessCommandsInternal(0, s); +} + +static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands( + BrotliDecoderState* s) { + return ProcessCommandsInternal(1, s); +} + +BrotliDecoderResult BrotliDecoderDecompress( + size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, + uint8_t* decoded_buffer) { + BrotliDecoderState s; + BrotliDecoderResult result; + size_t total_out = 0; + size_t available_in = encoded_size; + const uint8_t* next_in = encoded_buffer; + size_t available_out = *decoded_size; + uint8_t* next_out = decoded_buffer; + BrotliDecoderStateInit(&s); + result = BrotliDecoderDecompressStream( + &s, &available_in, &next_in, &available_out, &next_out, &total_out); + *decoded_size = total_out; + BrotliDecoderStateCleanup(&s); + if (result != BROTLI_DECODER_RESULT_SUCCESS) { + result = BROTLI_DECODER_RESULT_ERROR; + } + return result; +} + +/* Invariant: input stream is never overconsumed: + * invalid input implies that the whole stream is invalid -> any amount of + input could be read and discarded + * when result is "needs more input", then at leat one more byte is REQUIRED + to complete decoding; all input data MUST be consumed by decoder, so + client could swap the input buffer + * when result is "needs more output" decoder MUST ensure that it doesn't + hold more than 7 bits in bit reader; this saves client from swapping input + buffer ahead of time + * when result is "success" decoder MUST return all unused data back to input + buffer; this is possible because the invariant is hold on enter +*/ +BrotliDecoderResult BrotliDecoderDecompressStream( + BrotliDecoderState* s, size_t* available_in, const uint8_t** next_in, + size_t* available_out, uint8_t** next_out, size_t* total_out) { + BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS; + BrotliBitReader* br = &s->br; + if (s->buffer_length == 0) { /* Just connect bit reader to input stream. */ + br->avail_in = *available_in; + br->next_in = *next_in; + } else { + /* At least one byte of input is required. More than one byte of input may + be required to complete the transaction -> reading more data must be + done in a loop -> do it in a main loop. */ + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + br->next_in = &s->buffer.u8[0]; + } + /* State machine */ + for (;;) { + if (result != BROTLI_DECODER_SUCCESS) { /* Error, needs more input/output */ + if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) { + if (s->ringbuffer != 0) { /* Proactively push output. */ + WriteRingBuffer(s, available_out, next_out, total_out); + } + if (s->buffer_length != 0) { /* Used with internal buffer. */ + if (br->avail_in == 0) { /* Successfully finished read transaction. */ + /* Accamulator contains less than 8 bits, because internal buffer + is expanded byte-by-byte until it is enough to complete read. */ + s->buffer_length = 0; + /* Switch to input stream and restart. */ + result = BROTLI_DECODER_SUCCESS; + br->avail_in = *available_in; + br->next_in = *next_in; + continue; + } else if (*available_in != 0) { + /* Not enough data in buffer, but can take one more byte from + input stream. */ + result = BROTLI_DECODER_SUCCESS; + s->buffer.u8[s->buffer_length] = **next_in; + s->buffer_length++; + br->avail_in = s->buffer_length; + (*next_in)++; + (*available_in)--; + /* Retry with more data in buffer. */ + continue; + } + /* Can't finish reading and no more input.*/ + break; + } else { /* Input stream doesn't contain enough input. */ + /* Copy tail to internal buffer and return. */ + *next_in = br->next_in; + *available_in = br->avail_in; + while (*available_in) { + s->buffer.u8[s->buffer_length] = **next_in; + s->buffer_length++; + (*next_in)++; + (*available_in)--; + } + break; + } + /* Unreachable. */ + } + + /* Fail or needs more output. */ + + if (s->buffer_length != 0) { + /* Just consumed the buffered input and produced some output. Otherwise + it would result in "needs more input". Reset internal buffer.*/ + s->buffer_length = 0; + } else { + /* Using input stream in last iteration. When decoder switches to input + stream it has less than 8 bits in accamulator, so it is safe to + return unused accamulator bits there. */ + BrotliBitReaderUnload(br); + *available_in = br->avail_in; + *next_in = br->next_in; + } + break; + } + switch (s->state) { + case BROTLI_STATE_UNINITED: + /* Prepare to the first read. */ + if (!BrotliWarmupBitReader(br)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + break; + } + /* Decode window size. */ + s->window_bits = DecodeWindowBits(br); /* Reads 1..7 bits. */ + BROTLI_LOG_UINT(s->window_bits); + if (s->window_bits == 9) { + /* Value 9 is reserved for future use. */ + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS); + break; + } + /* Maximum distance, see section 9.1. of the spec. */ + s->max_backward_distance = (1 << s->window_bits) - 16; + /* Limit custom dictionary size. */ + if (s->custom_dict_size >= s->max_backward_distance) { + s->custom_dict += s->custom_dict_size - s->max_backward_distance; + s->custom_dict_size = s->max_backward_distance; + } + s->max_backward_distance_minus_custom_dict_size = + s->max_backward_distance - s->custom_dict_size; + + /* Allocate memory for both block_type_trees and block_len_trees. */ + s->block_type_trees = (HuffmanCode*)BROTLI_ALLOC(s, + sizeof(HuffmanCode) * 3 * + (BROTLI_HUFFMAN_MAX_SIZE_258 + BROTLI_HUFFMAN_MAX_SIZE_26)); + if (s->block_type_trees == 0) { + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES); + break; + } + s->block_len_trees = + s->block_type_trees + 3 * BROTLI_HUFFMAN_MAX_SIZE_258; + + s->state = BROTLI_STATE_METABLOCK_BEGIN; + /* No break, continue to next state */ + case BROTLI_STATE_METABLOCK_BEGIN: + BrotliDecoderStateMetablockBegin(s); + BROTLI_LOG_UINT(s->pos); + s->state = BROTLI_STATE_METABLOCK_HEADER; + /* No break, continue to next state */ + case BROTLI_STATE_METABLOCK_HEADER: + result = DecodeMetaBlockLength(s, br); /* Reads 2 - 31 bits. */ + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + BROTLI_LOG_UINT(s->is_last_metablock); + BROTLI_LOG_UINT(s->meta_block_remaining_len); + BROTLI_LOG_UINT(s->is_metadata); + BROTLI_LOG_UINT(s->is_uncompressed); + if (s->is_metadata || s->is_uncompressed) { + if (!BrotliJumpToByteBoundary(br)) { + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_PADDING_1); + break; + } + } + if (s->is_metadata) { + s->state = BROTLI_STATE_METADATA; + break; + } + if (s->meta_block_remaining_len == 0) { + s->state = BROTLI_STATE_METABLOCK_DONE; + break; + } + if (!s->ringbuffer) { + BrotliCalculateRingBufferSize(s, br); + } + if (s->is_uncompressed) { + s->state = BROTLI_STATE_UNCOMPRESSED; + break; + } + s->loop_counter = 0; + s->state = BROTLI_STATE_HUFFMAN_CODE_0; + break; + case BROTLI_STATE_UNCOMPRESSED: { + int bytes_copied = s->meta_block_remaining_len; + result = CopyUncompressedBlockToOutput( + available_out, next_out, total_out, s); + bytes_copied -= s->meta_block_remaining_len; + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + s->state = BROTLI_STATE_METABLOCK_DONE; + break; + } + case BROTLI_STATE_METADATA: + for (; s->meta_block_remaining_len > 0; --s->meta_block_remaining_len) { + uint32_t bits; + /* Read one byte and ignore it. */ + if (!BrotliSafeReadBits(br, 8, &bits)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + break; + } + } + if (result == BROTLI_DECODER_SUCCESS) { + s->state = BROTLI_STATE_METABLOCK_DONE; + } + break; + case BROTLI_STATE_HUFFMAN_CODE_0: + if (s->loop_counter >= 3) { + s->state = BROTLI_STATE_METABLOCK_HEADER_2; + break; + } + /* Reads 1..11 bits. */ + result = DecodeVarLenUint8(s, br, &s->num_block_types[s->loop_counter]); + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + s->num_block_types[s->loop_counter]++; + BROTLI_LOG_UINT(s->num_block_types[s->loop_counter]); + if (s->num_block_types[s->loop_counter] < 2) { + s->loop_counter++; + break; + } + s->state = BROTLI_STATE_HUFFMAN_CODE_1; + /* No break, continue to next state */ + case BROTLI_STATE_HUFFMAN_CODE_1: { + int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_258; + result = ReadHuffmanCode(s->num_block_types[s->loop_counter] + 2, + &s->block_type_trees[tree_offset], NULL, s); + if (result != BROTLI_DECODER_SUCCESS) break; + s->state = BROTLI_STATE_HUFFMAN_CODE_2; + /* No break, continue to next state */ + } + case BROTLI_STATE_HUFFMAN_CODE_2: { + int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_26; + result = ReadHuffmanCode(BROTLI_NUM_BLOCK_LEN_SYMBOLS, + &s->block_len_trees[tree_offset], NULL, s); + if (result != BROTLI_DECODER_SUCCESS) break; + s->state = BROTLI_STATE_HUFFMAN_CODE_3; + /* No break, continue to next state */ + } + case BROTLI_STATE_HUFFMAN_CODE_3: { + int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_26; + if (!SafeReadBlockLength(s, &s->block_length[s->loop_counter], + &s->block_len_trees[tree_offset], br)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + break; + } + BROTLI_LOG_UINT(s->block_length[s->loop_counter]); + s->loop_counter++; + s->state = BROTLI_STATE_HUFFMAN_CODE_0; + break; + } + case BROTLI_STATE_METABLOCK_HEADER_2: { + uint32_t bits; + if (!BrotliSafeReadBits(br, 6, &bits)) { + result = BROTLI_DECODER_NEEDS_MORE_INPUT; + break; + } + s->distance_postfix_bits = bits & BitMask(2); + bits >>= 2; + s->num_direct_distance_codes = BROTLI_NUM_DISTANCE_SHORT_CODES + + (bits << s->distance_postfix_bits); + BROTLI_LOG_UINT(s->num_direct_distance_codes); + BROTLI_LOG_UINT(s->distance_postfix_bits); + s->distance_postfix_mask = (int)BitMask(s->distance_postfix_bits); + s->context_modes = + (uint8_t*)BROTLI_ALLOC(s, (size_t)s->num_block_types[0]); + if (s->context_modes == 0) { + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES); + break; + } + s->loop_counter = 0; + s->state = BROTLI_STATE_CONTEXT_MODES; + /* No break, continue to next state */ + } + case BROTLI_STATE_CONTEXT_MODES: + result = ReadContextModes(s); + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + s->state = BROTLI_STATE_CONTEXT_MAP_1; + /* No break, continue to next state */ + case BROTLI_STATE_CONTEXT_MAP_1: + result = DecodeContextMap( + s->num_block_types[0] << BROTLI_LITERAL_CONTEXT_BITS, + &s->num_literal_htrees, &s->context_map, s); + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + DetectTrivialLiteralBlockTypes(s); + s->state = BROTLI_STATE_CONTEXT_MAP_2; + /* No break, continue to next state */ + case BROTLI_STATE_CONTEXT_MAP_2: + { + uint32_t num_distance_codes = + s->num_direct_distance_codes + (48U << s->distance_postfix_bits); + result = DecodeContextMap( + s->num_block_types[2] << BROTLI_DISTANCE_CONTEXT_BITS, + &s->num_dist_htrees, &s->dist_context_map, s); + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + BrotliDecoderHuffmanTreeGroupInit( + s, &s->literal_hgroup, BROTLI_NUM_LITERAL_SYMBOLS, + s->num_literal_htrees); + BrotliDecoderHuffmanTreeGroupInit( + s, &s->insert_copy_hgroup, BROTLI_NUM_COMMAND_SYMBOLS, + s->num_block_types[1]); + BrotliDecoderHuffmanTreeGroupInit( + s, &s->distance_hgroup, num_distance_codes, + s->num_dist_htrees); + if (s->literal_hgroup.codes == 0 || + s->insert_copy_hgroup.codes == 0 || + s->distance_hgroup.codes == 0) { + return SaveErrorCode(s, + BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS)); + } + } + s->loop_counter = 0; + s->state = BROTLI_STATE_TREE_GROUP; + /* No break, continue to next state */ + case BROTLI_STATE_TREE_GROUP: + { + HuffmanTreeGroup* hgroup = NULL; + switch (s->loop_counter) { + case 0: + hgroup = &s->literal_hgroup; + break; + case 1: + hgroup = &s->insert_copy_hgroup; + break; + case 2: + hgroup = &s->distance_hgroup; + break; + default: + return SaveErrorCode(s, BROTLI_FAILURE( + BROTLI_DECODER_ERROR_UNREACHABLE)); + } + result = HuffmanTreeGroupDecode(hgroup, s); + } + if (result != BROTLI_DECODER_SUCCESS) break; + s->loop_counter++; + if (s->loop_counter >= 3) { + PrepareLiteralDecoding(s); + s->dist_context_map_slice = s->dist_context_map; + s->htree_command = s->insert_copy_hgroup.htrees[0]; + if (!s->ringbuffer && !BrotliAllocateRingBuffer(s)) { + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2); + break; + } + s->state = BROTLI_STATE_COMMAND_BEGIN; + } + break; + case BROTLI_STATE_COMMAND_BEGIN: + case BROTLI_STATE_COMMAND_INNER: + case BROTLI_STATE_COMMAND_POST_DECODE_LITERALS: + case BROTLI_STATE_COMMAND_POST_WRAP_COPY: + result = ProcessCommands(s); + if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) { + result = SafeProcessCommands(s); + } + break; + case BROTLI_STATE_COMMAND_INNER_WRITE: + case BROTLI_STATE_COMMAND_POST_WRITE_1: + case BROTLI_STATE_COMMAND_POST_WRITE_2: + result = WriteRingBuffer(s, available_out, next_out, total_out); + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + s->max_distance = s->max_backward_distance; + if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_1) { + memcpy(s->ringbuffer, s->ringbuffer_end, (size_t)s->pos); + if (s->meta_block_remaining_len == 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + } else { + s->state = BROTLI_STATE_COMMAND_BEGIN; + } + break; + } else if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_2) { + s->state = BROTLI_STATE_COMMAND_POST_WRAP_COPY; + } else { /* BROTLI_STATE_COMMAND_INNER_WRITE */ + if (s->loop_counter == 0) { + if (s->meta_block_remaining_len == 0) { + s->state = BROTLI_STATE_METABLOCK_DONE; + } else { + s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS; + } + break; + } + s->state = BROTLI_STATE_COMMAND_INNER; + } + break; + case BROTLI_STATE_METABLOCK_DONE: + if (s->meta_block_remaining_len < 0) { + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2); + break; + } + BrotliDecoderStateCleanupAfterMetablock(s); + if (!s->is_last_metablock) { + s->state = BROTLI_STATE_METABLOCK_BEGIN; + break; + } + if (!BrotliJumpToByteBoundary(br)) { + result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_PADDING_2); + break; + } + if (s->buffer_length == 0) { + BrotliBitReaderUnload(br); + *available_in = br->avail_in; + *next_in = br->next_in; + } + s->state = BROTLI_STATE_DONE; + /* No break, continue to next state */ + case BROTLI_STATE_DONE: + if (s->ringbuffer != 0) { + result = WriteRingBuffer(s, available_out, next_out, total_out); + if (result != BROTLI_DECODER_SUCCESS) { + break; + } + } + return SaveErrorCode(s, result); + } + } + return SaveErrorCode(s, result); +} + +void BrotliDecoderSetCustomDictionary( + BrotliDecoderState* s, size_t size, const uint8_t* dict) { + if (size > (1u << 24)) { + return; + } + s->custom_dict = dict; + s->custom_dict_size = (int)size; +} + +BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s) { + return TO_BROTLI_BOOL( + s->ringbuffer != 0 && UnwrittenBytes(s, BROTLI_FALSE) != 0); +} + +BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* s) { + return TO_BROTLI_BOOL(s->state != BROTLI_STATE_UNINITED || + BrotliGetAvailableBits(&s->br) != 0); +} + +BROTLI_BOOL BrotliDecoderIsFinished(const BrotliDecoderState* s) { + return TO_BROTLI_BOOL(s->state == BROTLI_STATE_DONE); +} + +BrotliDecoderErrorCode BrotliDecoderGetErrorCode(const BrotliDecoderState* s) { + return (BrotliDecoderErrorCode)s->error_code; +} + +const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c) { + switch (c) { +#define _BROTLI_ERROR_CODE_CASE(PREFIX, NAME, CODE) \ + case BROTLI_DECODER ## PREFIX ## NAME: return #NAME; +#define _BROTLI_NOTHING + BROTLI_DECODER_ERROR_CODES_LIST(_BROTLI_ERROR_CODE_CASE, _BROTLI_NOTHING) +#undef _BROTLI_ERROR_CODE_CASE +#undef _BROTLI_NOTHING + default: return "INVALID"; + } +} + +/* DEPRECATED >>> */ +BrotliState* BrotliCreateState( + brotli_alloc_func alloc, brotli_free_func free, void* opaque) { + return (BrotliState*)BrotliDecoderCreateInstance(alloc, free, opaque); +} +void BrotliDestroyState(BrotliState* state) { + BrotliDecoderDestroyInstance((BrotliDecoderState*)state); +} +BrotliResult BrotliDecompressBuffer( + size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, + uint8_t* decoded_buffer) { + return (BrotliResult)BrotliDecoderDecompress( + encoded_size, encoded_buffer, decoded_size, decoded_buffer); +} +BrotliResult BrotliDecompressStream( + size_t* available_in, const uint8_t** next_in, size_t* available_out, + uint8_t** next_out, size_t* total_out, BrotliState* s) { + return (BrotliResult)BrotliDecoderDecompressStream((BrotliDecoderState*)s, + available_in, next_in, available_out, next_out, total_out); +} +void BrotliSetCustomDictionary( + size_t size, const uint8_t* dict, BrotliState* s) { + BrotliDecoderSetCustomDictionary((BrotliDecoderState*)s, size, dict); +} +BROTLI_BOOL BrotliStateIsStreamStart(const BrotliState* s) { + return !BrotliDecoderIsUsed((const BrotliDecoderState*)s); +} +BROTLI_BOOL BrotliStateIsStreamEnd(const BrotliState* s) { + return BrotliDecoderIsFinished((const BrotliDecoderState*)s); +} +BrotliErrorCode BrotliGetErrorCode(const BrotliState* s) { + return (BrotliErrorCode)BrotliDecoderGetErrorCode( + (const BrotliDecoderState*)s); +} +const char* BrotliErrorString(BrotliErrorCode c) { + return BrotliDecoderErrorString((BrotliDecoderErrorCode)c); +} +/* <<< DEPRECATED */ + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/dec/decode.h b/BaseTools/Source/C/BrotliCompress/dec/decode.h new file mode 100644 index 000000000000..4a2fa2ec9bf4 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/decode.h @@ -0,0 +1,188 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* API for Brotli decompression */ + +#ifndef BROTLI_DEC_DECODE_H_ +#define BROTLI_DEC_DECODE_H_ + +#include "../common/types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef struct BrotliDecoderStateStruct BrotliDecoderState; + +typedef enum { + /* Decoding error, e.g. corrupt input or memory allocation problem */ + BROTLI_DECODER_RESULT_ERROR = 0, + /* Decoding successfully completed */ + BROTLI_DECODER_RESULT_SUCCESS = 1, + /* Partially done; should be called again with more input */ + BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT = 2, + /* Partially done; should be called again with more output */ + BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT = 3 +} BrotliDecoderResult; + +#define BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE, SEPARATOR) \ + BROTLI_ERROR_CODE(_, NO_ERROR, 0) SEPARATOR \ + /* Same as BrotliDecoderResult values */ \ + BROTLI_ERROR_CODE(_, SUCCESS, 1) SEPARATOR \ + BROTLI_ERROR_CODE(_, NEEDS_MORE_INPUT, 2) SEPARATOR \ + BROTLI_ERROR_CODE(_, NEEDS_MORE_OUTPUT, 3) SEPARATOR \ + \ + /* Errors caused by invalid input */ \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_NIBBLE, -1) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, RESERVED, -2) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_META_NIBBLE, -3) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_ALPHABET, -4) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_SAME, -5) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, CL_SPACE, -6) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, HUFFMAN_SPACE, -7) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, CONTEXT_MAP_REPEAT, -8) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_1, -9) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_2, -10) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, TRANSFORM, -11) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, DICTIONARY, -12) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, WINDOW_BITS, -13) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_1, -14) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_2, -15) SEPARATOR \ + \ + /* -16..-20 codes are reserved */ \ + \ + /* Memory allocation problems */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MODES, -21) SEPARATOR \ + /* Literal, insert and distance trees together */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, TREE_GROUPS, -22) SEPARATOR \ + /* -23..-24 codes are reserved for distinct tree groups */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MAP, -25) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_1, -26) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_2, -27) SEPARATOR \ + /* -28..-29 codes are reserved for dynamic ringbuffer allocation */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, BLOCK_TYPE_TREES, -30) SEPARATOR \ + \ + /* "Impossible" states */ \ + BROTLI_ERROR_CODE(_ERROR_, UNREACHABLE, -31) + +typedef enum { +#define _BROTLI_COMMA , +#define _BROTLI_ERROR_CODE_ENUM_ITEM(PREFIX, NAME, CODE) \ + BROTLI_DECODER ## PREFIX ## NAME = CODE + BROTLI_DECODER_ERROR_CODES_LIST(_BROTLI_ERROR_CODE_ENUM_ITEM, _BROTLI_COMMA) +#undef _BROTLI_ERROR_CODE_ENUM_ITEM +#undef _BROTLI_COMMA +} BrotliDecoderErrorCode; + +#define BROTLI_LAST_ERROR_CODE BROTLI_DECODER_ERROR_UNREACHABLE + +/* Creates the instance of BrotliDecoderState and initializes it. |alloc_func| + and |free_func| MUST be both zero or both non-zero. In the case they are both + zero, default memory allocators are used. |opaque| is passed to |alloc_func| + and |free_func| when they are called. */ +BrotliDecoderState* BrotliDecoderCreateInstance( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque); + +/* Deinitializes and frees BrotliDecoderState instance. */ +void BrotliDecoderDestroyInstance(BrotliDecoderState* state); + +/* Decompresses the data in |encoded_buffer| into |decoded_buffer|, and sets + |*decoded_size| to the decompressed length. */ +BrotliDecoderResult BrotliDecoderDecompress( + size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, + uint8_t* decoded_buffer); + +/* Decompresses the data. Supports partial input and output. + + Must be called with an allocated input buffer in |*next_in| and an allocated + output buffer in |*next_out|. The values |*available_in| and |*available_out| + must specify the allocated size in |*next_in| and |*next_out| respectively. + + After each call, |*available_in| will be decremented by the amount of input + bytes consumed, and the |*next_in| pointer will be incremented by that + amount. Similarly, |*available_out| will be decremented by the amount of + output bytes written, and the |*next_out| pointer will be incremented by that + amount. |total_out|, if it is not a null-pointer, will be set to the number + of bytes decompressed since the last state initialization. + + Input is never overconsumed, so |next_in| and |available_in| could be passed + to the next consumer after decoding is complete. */ +BrotliDecoderResult BrotliDecoderDecompressStream( + BrotliDecoderState* s, size_t* available_in, const uint8_t** next_in, + size_t* available_out, uint8_t** next_out, size_t* total_out); + +/* Fills the new state with a dictionary for LZ77, warming up the ringbuffer, + e.g. for custom static dictionaries for data formats. + Not to be confused with the built-in transformable dictionary of Brotli. + |size| should be less or equal to 2^24 (16MiB), otherwise the dictionary will + be ignored. The dictionary must exist in memory until decoding is done and + is owned by the caller. To use: + 1) Allocate and initialize state with BrotliCreateInstance + 2) Use BrotliSetCustomDictionary + 3) Use BrotliDecompressStream + 4) Clean up and free state with BrotliDestroyState +*/ +void BrotliDecoderSetCustomDictionary( + BrotliDecoderState* s, size_t size, const uint8_t* dict); + +/* Returns true, if decoder has some unconsumed output. + Otherwise returns false. */ +BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s); + +/* Returns true, if decoder has already received some input bytes. + Otherwise returns false. */ +BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* s); + +/* Returns true, if decoder is in a state where we reached the end of the input + and produced all of the output; returns false otherwise. */ +BROTLI_BOOL BrotliDecoderIsFinished(const BrotliDecoderState* s); + +/* Returns detailed error code after BrotliDecompressStream returns + BROTLI_DECODER_RESULT_ERROR. */ +BrotliDecoderErrorCode BrotliDecoderGetErrorCode(const BrotliDecoderState* s); + +const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c); + +/* DEPRECATED >>> */ +typedef enum { + BROTLI_RESULT_ERROR = 0, + BROTLI_RESULT_SUCCESS = 1, + BROTLI_RESULT_NEEDS_MORE_INPUT = 2, + BROTLI_RESULT_NEEDS_MORE_OUTPUT = 3 +} BrotliResult; +typedef enum { +#define _BROTLI_COMMA , +#define _BROTLI_ERROR_CODE_ENUM_ITEM(PREFIX, NAME, CODE) \ + BROTLI ## PREFIX ## NAME = CODE + BROTLI_DECODER_ERROR_CODES_LIST(_BROTLI_ERROR_CODE_ENUM_ITEM, _BROTLI_COMMA) +#undef _BROTLI_ERROR_CODE_ENUM_ITEM +#undef _BROTLI_COMMA +} BrotliErrorCode; +typedef struct BrotliStateStruct BrotliState; +BrotliState* BrotliCreateState( + brotli_alloc_func alloc, brotli_free_func free, void* opaque); +void BrotliDestroyState(BrotliState* state); +BROTLI_BOOL BrotliDecompressedSize( + size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size); +BrotliResult BrotliDecompressBuffer( + size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, + uint8_t* decoded_buffer); +BrotliResult BrotliDecompressStream( + size_t* available_in, const uint8_t** next_in, size_t* available_out, + uint8_t** next_out, size_t* total_out, BrotliState* s); +void BrotliSetCustomDictionary( + size_t size, const uint8_t* dict, BrotliState* s); +BROTLI_BOOL BrotliStateIsStreamStart(const BrotliState* s); +BROTLI_BOOL BrotliStateIsStreamEnd(const BrotliState* s); +BrotliErrorCode BrotliGetErrorCode(const BrotliState* s); +const char* BrotliErrorString(BrotliErrorCode c); +/* <<< DEPRECATED */ + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_DECODE_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/huffman.c b/BaseTools/Source/C/BrotliCompress/dec/huffman.c new file mode 100644 index 000000000000..09a3c30d95ae --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/huffman.c @@ -0,0 +1,357 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Utilities for building Huffman decoding tables. */ + +#include "./huffman.h" + +#include /* memcpy, memset */ + +#include "../common/constants.h" +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define BROTLI_REVERSE_BITS_MAX 8 + +#ifdef BROTLI_RBIT +#define BROTLI_REVERSE_BITS_BASE (32 - BROTLI_REVERSE_BITS_MAX) +#else +#define BROTLI_REVERSE_BITS_BASE 0 +static uint8_t kReverseBits[1 << BROTLI_REVERSE_BITS_MAX] = { + 0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, + 0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0, + 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8, + 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, + 0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4, + 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4, + 0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC, + 0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC, + 0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2, + 0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2, + 0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA, + 0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA, + 0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6, + 0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6, + 0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE, + 0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE, + 0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1, + 0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1, + 0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9, + 0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9, + 0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5, + 0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5, + 0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED, + 0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD, + 0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3, + 0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3, + 0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB, + 0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB, + 0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7, + 0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7, + 0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, + 0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF +}; +#endif /* BROTLI_RBIT */ + +#define BROTLI_REVERSE_BITS_LOWEST \ + (1U << (BROTLI_REVERSE_BITS_MAX - 1 + BROTLI_REVERSE_BITS_BASE)) + +/* Returns reverse(num >> BROTLI_REVERSE_BITS_BASE, BROTLI_REVERSE_BITS_MAX), + where reverse(value, len) is the bit-wise reversal of the len least + significant bits of value. */ +static BROTLI_INLINE uint32_t BrotliReverseBits(uint32_t num) { +#ifdef BROTLI_RBIT + return BROTLI_RBIT(num); +#else + return kReverseBits[num]; +#endif +} + +/* Stores code in table[0], table[step], table[2*step], ..., table[end] */ +/* Assumes that end is an integer multiple of step */ +static BROTLI_INLINE void ReplicateValue(HuffmanCode* table, + int step, int end, + HuffmanCode code) { + do { + end -= step; + table[end] = code; + } while (end > 0); +} + +/* Returns the table width of the next 2nd level table. count is the histogram + of bit lengths for the remaining symbols, len is the code length of the next + processed symbol */ +static BROTLI_INLINE int NextTableBitSize(const uint16_t* const count, + int len, int root_bits) { + int left = 1 << (len - root_bits); + while (len < BROTLI_HUFFMAN_MAX_CODE_LENGTH) { + left -= count[len]; + if (left <= 0) break; + ++len; + left <<= 1; + } + return len - root_bits; +} + +void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* table, + const uint8_t* const code_lengths, + uint16_t* count) { + HuffmanCode code; /* current table entry */ + int symbol; /* symbol index in original or sorted table */ + uint32_t key; /* prefix code */ + uint32_t key_step; /* prefix code addend */ + int step; /* step size to replicate values in current table */ + int table_size; /* size of current table */ + int sorted[BROTLI_CODE_LENGTH_CODES]; /* symbols sorted by code length */ + /* offsets in sorted table for each length */ + int offset[BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1]; + int bits; + int bits_count; + BROTLI_DCHECK(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH <= + BROTLI_REVERSE_BITS_MAX); + + /* generate offsets into sorted symbol table by code length */ + symbol = -1; + bits = 1; + BROTLI_REPEAT(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH, { + symbol += count[bits]; + offset[bits] = symbol; + bits++; + }); + /* Symbols with code length 0 are placed after all other symbols. */ + offset[0] = BROTLI_CODE_LENGTH_CODES - 1; + + /* sort symbols by length, by symbol order within each length */ + symbol = BROTLI_CODE_LENGTH_CODES; + do { + BROTLI_REPEAT(6, { + symbol--; + sorted[offset[code_lengths[symbol]]--] = symbol; + }); + } while (symbol != 0); + + table_size = 1 << BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH; + + /* Special case: all symbols but one have 0 code length. */ + if (offset[0] == 0) { + code.bits = 0; + code.value = (uint16_t)sorted[0]; + for (key = 0; key < (uint32_t)table_size; ++key) { + table[key] = code; + } + return; + } + + /* fill in table */ + key = 0; + key_step = BROTLI_REVERSE_BITS_LOWEST; + symbol = 0; + bits = 1; + step = 2; + do { + code.bits = (uint8_t)bits; + for (bits_count = count[bits]; bits_count != 0; --bits_count) { + code.value = (uint16_t)sorted[symbol++]; + ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code); + key += key_step; + } + step <<= 1; + key_step >>= 1; + } while (++bits <= BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH); +} + +uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table, + int root_bits, + const uint16_t* const symbol_lists, + uint16_t* count) { + HuffmanCode code; /* current table entry */ + HuffmanCode* table; /* next available space in table */ + int len; /* current code length */ + int symbol; /* symbol index in original or sorted table */ + uint32_t key; /* prefix code */ + uint32_t key_step; /* prefix code addend */ + uint32_t sub_key; /* 2nd level table prefix code */ + uint32_t sub_key_step; /* 2nd level table prefix code addend */ + int step; /* step size to replicate values in current table */ + int table_bits; /* key length of current table */ + int table_size; /* size of current table */ + int total_size; /* sum of root table size and 2nd level table sizes */ + int max_length = -1; + int bits; + int bits_count; + + BROTLI_DCHECK(root_bits <= BROTLI_REVERSE_BITS_MAX); + BROTLI_DCHECK(BROTLI_HUFFMAN_MAX_CODE_LENGTH - root_bits <= + BROTLI_REVERSE_BITS_MAX); + + while (symbol_lists[max_length] == 0xFFFF) max_length--; + max_length += BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1; + + table = root_table; + table_bits = root_bits; + table_size = 1 << table_bits; + total_size = table_size; + + /* fill in root table */ + /* let's reduce the table size to a smaller size if possible, and */ + /* create the repetitions by memcpy if possible in the coming loop */ + if (table_bits > max_length) { + table_bits = max_length; + table_size = 1 << table_bits; + } + key = 0; + key_step = BROTLI_REVERSE_BITS_LOWEST; + bits = 1; + step = 2; + do { + code.bits = (uint8_t)bits; + symbol = bits - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1); + for (bits_count = count[bits]; bits_count != 0; --bits_count) { + symbol = symbol_lists[symbol]; + code.value = (uint16_t)symbol; + ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code); + key += key_step; + } + step <<= 1; + key_step >>= 1; + } while (++bits <= table_bits); + + /* if root_bits != table_bits we only created one fraction of the */ + /* table, and we need to replicate it now. */ + while (total_size != table_size) { + memcpy(&table[table_size], &table[0], + (size_t)table_size * sizeof(table[0])); + table_size <<= 1; + } + + /* fill in 2nd level tables and add pointers to root table */ + key_step = BROTLI_REVERSE_BITS_LOWEST >> (root_bits - 1); + sub_key = (BROTLI_REVERSE_BITS_LOWEST << 1); + sub_key_step = BROTLI_REVERSE_BITS_LOWEST; + for (len = root_bits + 1, step = 2; len <= max_length; ++len) { + symbol = len - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1); + for (; count[len] != 0; --count[len]) { + if (sub_key == (BROTLI_REVERSE_BITS_LOWEST << 1U)) { + table += table_size; + table_bits = NextTableBitSize(count, len, root_bits); + table_size = 1 << table_bits; + total_size += table_size; + sub_key = BrotliReverseBits(key); + key += key_step; + root_table[sub_key].bits = (uint8_t)(table_bits + root_bits); + root_table[sub_key].value = + (uint16_t)(((size_t)(table - root_table)) - sub_key); + sub_key = 0; + } + code.bits = (uint8_t)(len - root_bits); + symbol = symbol_lists[symbol]; + code.value = (uint16_t)symbol; + ReplicateValue( + &table[BrotliReverseBits(sub_key)], step, table_size, code); + sub_key += sub_key_step; + } + step <<= 1; + sub_key_step >>= 1; + } + return (uint32_t)total_size; +} + +uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table, + int root_bits, + uint16_t* val, + uint32_t num_symbols) { + uint32_t table_size = 1; + const uint32_t goal_size = 1U << root_bits; + switch (num_symbols) { + case 0: + table[0].bits = 0; + table[0].value = val[0]; + break; + case 1: + table[0].bits = 1; + table[1].bits = 1; + if (val[1] > val[0]) { + table[0].value = val[0]; + table[1].value = val[1]; + } else { + table[0].value = val[1]; + table[1].value = val[0]; + } + table_size = 2; + break; + case 2: + table[0].bits = 1; + table[0].value = val[0]; + table[2].bits = 1; + table[2].value = val[0]; + if (val[2] > val[1]) { + table[1].value = val[1]; + table[3].value = val[2]; + } else { + table[1].value = val[2]; + table[3].value = val[1]; + } + table[1].bits = 2; + table[3].bits = 2; + table_size = 4; + break; + case 3: { + int i, k; + for (i = 0; i < 3; ++i) { + for (k = i + 1; k < 4; ++k) { + if (val[k] < val[i]) { + uint16_t t = val[k]; + val[k] = val[i]; + val[i] = t; + } + } + } + for (i = 0; i < 4; ++i) { + table[i].bits = 2; + } + table[0].value = val[0]; + table[2].value = val[1]; + table[1].value = val[2]; + table[3].value = val[3]; + table_size = 4; + break; + } + case 4: { + int i; + if (val[3] < val[2]) { + uint16_t t = val[3]; + val[3] = val[2]; + val[2] = t; + } + for (i = 0; i < 7; ++i) { + table[i].value = val[0]; + table[i].bits = (uint8_t)(1 + (i & 1)); + } + table[1].value = val[1]; + table[3].value = val[2]; + table[5].value = val[1]; + table[7].value = val[3]; + table[3].bits = 3; + table[7].bits = 3; + table_size = 8; + break; + } + } + while (table_size != goal_size) { + memcpy(&table[table_size], &table[0], + (size_t)table_size * sizeof(table[0])); + table_size <<= 1; + } + return goal_size; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/dec/huffman.h b/BaseTools/Source/C/BrotliCompress/dec/huffman.h new file mode 100644 index 000000000000..ead502dd7fce --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/huffman.h @@ -0,0 +1,68 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Utilities for building Huffman decoding tables. */ + +#ifndef BROTLI_DEC_HUFFMAN_H_ +#define BROTLI_DEC_HUFFMAN_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define BROTLI_HUFFMAN_MAX_CODE_LENGTH 15 + +/* Maximum possible Huffman table size for an alphabet size of (index * 32), + * max code length 15 and root table bits 8. */ +static const uint16_t kMaxHuffmanTableSize[] = { + 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822, + 854, 886, 920, 952, 984, 1016, 1048, 1080}; +/* BROTLI_NUM_BLOCK_LEN_SYMBOLS == 26 */ +#define BROTLI_HUFFMAN_MAX_SIZE_26 396 +/* BROTLI_MAX_BLOCK_TYPE_SYMBOLS == 258 */ +#define BROTLI_HUFFMAN_MAX_SIZE_258 632 +/* BROTLI_MAX_CONTEXT_MAP_SYMBOLS == 272 */ +#define BROTLI_HUFFMAN_MAX_SIZE_272 646 + +#define BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH 5 + +typedef struct { + uint8_t bits; /* number of bits used for this symbol */ + uint16_t value; /* symbol value or table offset */ +} HuffmanCode; + +/* Builds Huffman lookup table assuming code lengths are in symbol order. */ +BROTLI_INTERNAL void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* root_table, + const uint8_t* const code_lengths, uint16_t* count); + +/* Builds Huffman lookup table assuming code lengths are in symbol order. */ +/* Returns size of resulting table. */ +BROTLI_INTERNAL uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table, + int root_bits, const uint16_t* const symbol_lists, uint16_t* count_arg); + +/* Builds a simple Huffman table. The num_symbols parameter is to be */ +/* interpreted as follows: 0 means 1 symbol, 1 means 2 symbols, 2 means 3 */ +/* symbols, 3 means 4 symbols with lengths 2,2,2,2, 4 means 4 symbols with */ +/* lengths 1,2,3,3. */ +BROTLI_INTERNAL uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table, + int root_bits, uint16_t* symbols, uint32_t num_symbols); + +/* Contains a collection of Huffman trees with the same alphabet size. */ +typedef struct { + HuffmanCode** htrees; + HuffmanCode* codes; + uint16_t alphabet_size; + uint16_t num_htrees; +} HuffmanTreeGroup; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_HUFFMAN_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/port.h b/BaseTools/Source/C/BrotliCompress/dec/port.h new file mode 100644 index 000000000000..866965b1efb9 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/port.h @@ -0,0 +1,159 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Macros for compiler / platform specific features and build options. + + Build options are: + * BROTLI_BUILD_32_BIT disables 64-bit optimizations + * BROTLI_BUILD_64_BIT forces to use 64-bit optimizations + * BROTLI_BUILD_BIG_ENDIAN forces to use big-endian optimizations + * BROTLI_BUILD_ENDIAN_NEUTRAL disables endian-aware optimizations + * BROTLI_BUILD_LITTLE_ENDIAN forces to use little-endian optimizations + * BROTLI_BUILD_MODERN_COMPILER forces to use modern compilers built-ins, + features and attributes + * BROTLI_BUILD_PORTABLE disables dangerous optimizations, like unaligned + read and overlapping memcpy; this reduces decompression speed by 5% + * BROTLI_DEBUG dumps file name and line number when decoder detects stream + or memory error + * BROTLI_ENABLE_LOG enables asserts and dumps various state information + */ + +#ifndef BROTLI_DEC_PORT_H_ +#define BROTLI_DEC_PORT_H_ + +#if defined(BROTLI_ENABLE_LOG) || defined(BROTLI_DEBUG) +#include +#include +#endif + +#include "../common/port.h" + +#if defined(__arm__) || defined(__thumb__) || \ + defined(_M_ARM) || defined(_M_ARMT) +#define BROTLI_TARGET_ARM +#if (defined(__ARM_ARCH) && (__ARM_ARCH >= 7)) || \ + (defined(M_ARM) && (M_ARM >= 7)) +#define BROTLI_TARGET_ARMV7 +#endif /* ARMv7 */ +#if defined(__aarch64__) +#define BROTLI_TARGET_ARMV8 +#endif /* ARMv8 */ +#endif /* ARM */ + +#if defined(__i386) || defined(_M_IX86) +#define BROTLI_TARGET_X86 +#endif + +#if defined(__x86_64__) || defined(_M_X64) +#define BROTLI_TARGET_X64 +#endif + +#if defined(__PPC64__) +#define BROTLI_TARGET_POWERPC64 +#endif + +#ifdef BROTLI_BUILD_PORTABLE +#define BROTLI_ALIGNED_READ (!!1) +#elif defined(BROTLI_TARGET_X86) || defined(BROTLI_TARGET_X64) || \ + defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8) +/* Allow unaligned read only for whitelisted CPUs. */ +#define BROTLI_ALIGNED_READ (!!0) +#else +#define BROTLI_ALIGNED_READ (!!1) +#endif + +/* IS_CONSTANT macros returns true for compile-time constant expressions. */ +#if BROTLI_MODERN_COMPILER || __has_builtin(__builtin_constant_p) +#define IS_CONSTANT(x) (!!__builtin_constant_p(x)) +#else +#define IS_CONSTANT(x) (!!0) +#endif + +#ifdef BROTLI_ENABLE_LOG +#define BROTLI_DCHECK(x) assert(x) +#define BROTLI_LOG(x) printf x +#else +#define BROTLI_DCHECK(x) +#define BROTLI_LOG(x) +#endif + +#if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG) +static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* fn) { + fprintf(stderr, "%s:%d (%s)\n", f, l, fn); + fflush(stderr); +} +#define BROTLI_DUMP() BrotliDump(__FILE__, __LINE__, __FUNCTION__) +#else +#define BROTLI_DUMP() (void)(0) +#endif + +#if defined(BROTLI_BUILD_64_BIT) +#define BROTLI_64_BITS 1 +#elif defined(BROTLI_BUILD_32_BIT) +#define BROTLI_64_BITS 0 +#elif defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8) || \ + defined(BROTLI_TARGET_POWERPC64) +#define BROTLI_64_BITS 1 +#else +#define BROTLI_64_BITS 0 +#endif + +#if defined(BROTLI_BUILD_BIG_ENDIAN) +#define BROTLI_LITTLE_ENDIAN 0 +#define BROTLI_BIG_ENDIAN 1 +#elif defined(BROTLI_BUILD_LITTLE_ENDIAN) +#define BROTLI_LITTLE_ENDIAN 1 +#define BROTLI_BIG_ENDIAN 0 +#elif defined(BROTLI_BUILD_ENDIAN_NEUTRAL) +#define BROTLI_LITTLE_ENDIAN 0 +#define BROTLI_BIG_ENDIAN 0 +#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +#define BROTLI_LITTLE_ENDIAN 1 +#define BROTLI_BIG_ENDIAN 0 +#elif defined(_WIN32) +/* Win32 can currently always be assumed to be little endian */ +#define BROTLI_LITTLE_ENDIAN 1 +#define BROTLI_BIG_ENDIAN 0 +#else +#if (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) +#define BROTLI_BIG_ENDIAN 1 +#else +#define BROTLI_BIG_ENDIAN 0 +#endif +#define BROTLI_LITTLE_ENDIAN 0 +#endif + +#define BROTLI_REPEAT(N, X) { \ + if ((N & 1) != 0) {X;} \ + if ((N & 2) != 0) {X; X;} \ + if ((N & 4) != 0) {X; X; X; X;} \ +} + +#if BROTLI_MODERN_COMPILER || defined(__llvm__) +#if defined(BROTLI_TARGET_ARMV7) +static BROTLI_INLINE unsigned BrotliRBit(unsigned input) { + unsigned output; + __asm__("rbit %0, %1\n" : "=r"(output) : "r"(input)); + return output; +} +#define BROTLI_RBIT(x) BrotliRBit(x) +#endif /* armv7 */ +#endif /* gcc || clang */ + +#if defined(BROTLI_TARGET_ARM) +#define BROTLI_HAS_UBFX (!!1) +#else +#define BROTLI_HAS_UBFX (!!0) +#endif + +#define BROTLI_ALLOC(S, L) S->alloc_func(S->memory_manager_opaque, L) + +#define BROTLI_FREE(S, X) { \ + S->free_func(S->memory_manager_opaque, X); \ + X = NULL; \ +} + +#endif /* BROTLI_DEC_PORT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/prefix.h b/BaseTools/Source/C/BrotliCompress/dec/prefix.h new file mode 100644 index 000000000000..600649643346 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/prefix.h @@ -0,0 +1,751 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Lookup tables to map prefix codes to value ranges. This is used during + decoding of the block lengths, literal insertion lengths and copy lengths. +*/ + +#ifndef BROTLI_DEC_PREFIX_H_ +#define BROTLI_DEC_PREFIX_H_ + +#include "../common/constants.h" +#include "../common/types.h" + +/* Represents the range of values belonging to a prefix code: */ +/* [offset, offset + 2^nbits) */ +struct PrefixCodeRange { + uint16_t offset; + uint8_t nbits; +}; + +static const struct PrefixCodeRange + kBlockLengthPrefixCode[BROTLI_NUM_BLOCK_LEN_SYMBOLS] = { + { 1, 2}, { 5, 2}, { 9, 2}, { 13, 2}, + { 17, 3}, { 25, 3}, { 33, 3}, { 41, 3}, + { 49, 4}, { 65, 4}, { 81, 4}, { 97, 4}, + { 113, 5}, { 145, 5}, { 177, 5}, { 209, 5}, + { 241, 6}, { 305, 6}, { 369, 7}, { 497, 8}, + { 753, 9}, { 1265, 10}, {2289, 11}, {4337, 12}, + {8433, 13}, {16625, 24} +}; + +typedef struct CmdLutElement { + uint8_t insert_len_extra_bits; + uint8_t copy_len_extra_bits; + int8_t distance_code; + uint8_t context; + uint16_t insert_len_offset; + uint16_t copy_len_offset; +} CmdLutElement; + +static const CmdLutElement kCmdLut[BROTLI_NUM_COMMAND_SYMBOLS] = { + { 0x00, 0x00, 0, 0x00, 0x0000, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0000, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0000, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0001, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0001, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0001, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0002, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0002, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0002, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0003, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0003, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0003, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0004, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0004, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0004, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0005, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0005, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0005, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0009 }, + { 0x01, 0x00, 0, 0x00, 0x0006, 0x0002 }, + { 0x01, 0x00, 0, 0x01, 0x0006, 0x0003 }, + { 0x01, 0x00, 0, 0x02, 0x0006, 0x0004 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0005 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0006 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0007 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0008 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0009 }, + { 0x01, 0x00, 0, 0x00, 0x0008, 0x0002 }, + { 0x01, 0x00, 0, 0x01, 0x0008, 0x0003 }, + { 0x01, 0x00, 0, 0x02, 0x0008, 0x0004 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0005 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0006 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0007 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0008 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0009 }, + { 0x00, 0x01, 0, 0x03, 0x0000, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0000, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0000, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0000, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0000, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0000, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0000, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0000, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0001, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0001, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0001, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0001, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0001, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0001, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0001, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0001, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0002, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0002, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0002, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0002, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0002, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0002, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0002, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0002, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0003, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0003, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0003, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0003, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0003, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0003, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0003, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0003, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0004, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0004, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0004, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0004, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0004, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0004, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0004, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0004, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0005, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0005, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0005, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0005, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0005, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0005, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0005, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0005, 0x0036 }, + { 0x01, 0x01, 0, 0x03, 0x0006, 0x000a }, + { 0x01, 0x01, 0, 0x03, 0x0006, 0x000c }, + { 0x01, 0x02, 0, 0x03, 0x0006, 0x000e }, + { 0x01, 0x02, 0, 0x03, 0x0006, 0x0012 }, + { 0x01, 0x03, 0, 0x03, 0x0006, 0x0016 }, + { 0x01, 0x03, 0, 0x03, 0x0006, 0x001e }, + { 0x01, 0x04, 0, 0x03, 0x0006, 0x0026 }, + { 0x01, 0x04, 0, 0x03, 0x0006, 0x0036 }, + { 0x01, 0x01, 0, 0x03, 0x0008, 0x000a }, + { 0x01, 0x01, 0, 0x03, 0x0008, 0x000c }, + { 0x01, 0x02, 0, 0x03, 0x0008, 0x000e }, + { 0x01, 0x02, 0, 0x03, 0x0008, 0x0012 }, + { 0x01, 0x03, 0, 0x03, 0x0008, 0x0016 }, + { 0x01, 0x03, 0, 0x03, 0x0008, 0x001e }, + { 0x01, 0x04, 0, 0x03, 0x0008, 0x0026 }, + { 0x01, 0x04, 0, 0x03, 0x0008, 0x0036 }, + { 0x00, 0x00, -1, 0x00, 0x0000, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0000, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0000, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0001, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0001, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0001, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0002, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0002, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0002, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0003, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0003, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0003, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0004, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0004, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0004, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0005, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0005, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0005, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0009 }, + { 0x01, 0x00, -1, 0x00, 0x0006, 0x0002 }, + { 0x01, 0x00, -1, 0x01, 0x0006, 0x0003 }, + { 0x01, 0x00, -1, 0x02, 0x0006, 0x0004 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0005 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0006 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0007 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0008 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0009 }, + { 0x01, 0x00, -1, 0x00, 0x0008, 0x0002 }, + { 0x01, 0x00, -1, 0x01, 0x0008, 0x0003 }, + { 0x01, 0x00, -1, 0x02, 0x0008, 0x0004 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0005 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0006 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0007 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0008 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0009 }, + { 0x00, 0x01, -1, 0x03, 0x0000, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0000, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0000, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0000, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0000, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0000, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0000, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0000, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0001, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0001, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0001, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0001, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0001, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0001, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0001, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0001, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0002, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0002, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0002, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0002, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0002, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0002, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0002, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0002, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0003, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0003, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0003, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0003, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0003, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0003, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0003, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0003, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0004, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0004, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0004, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0004, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0004, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0004, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0004, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0004, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0005, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0005, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0005, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0005, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0005, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0005, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0005, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0005, 0x0036 }, + { 0x01, 0x01, -1, 0x03, 0x0006, 0x000a }, + { 0x01, 0x01, -1, 0x03, 0x0006, 0x000c }, + { 0x01, 0x02, -1, 0x03, 0x0006, 0x000e }, + { 0x01, 0x02, -1, 0x03, 0x0006, 0x0012 }, + { 0x01, 0x03, -1, 0x03, 0x0006, 0x0016 }, + { 0x01, 0x03, -1, 0x03, 0x0006, 0x001e }, + { 0x01, 0x04, -1, 0x03, 0x0006, 0x0026 }, + { 0x01, 0x04, -1, 0x03, 0x0006, 0x0036 }, + { 0x01, 0x01, -1, 0x03, 0x0008, 0x000a }, + { 0x01, 0x01, -1, 0x03, 0x0008, 0x000c }, + { 0x01, 0x02, -1, 0x03, 0x0008, 0x000e }, + { 0x01, 0x02, -1, 0x03, 0x0008, 0x0012 }, + { 0x01, 0x03, -1, 0x03, 0x0008, 0x0016 }, + { 0x01, 0x03, -1, 0x03, 0x0008, 0x001e }, + { 0x01, 0x04, -1, 0x03, 0x0008, 0x0026 }, + { 0x01, 0x04, -1, 0x03, 0x0008, 0x0036 }, + { 0x02, 0x00, -1, 0x00, 0x000a, 0x0002 }, + { 0x02, 0x00, -1, 0x01, 0x000a, 0x0003 }, + { 0x02, 0x00, -1, 0x02, 0x000a, 0x0004 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0005 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0006 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0007 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0008 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0009 }, + { 0x02, 0x00, -1, 0x00, 0x000e, 0x0002 }, + { 0x02, 0x00, -1, 0x01, 0x000e, 0x0003 }, + { 0x02, 0x00, -1, 0x02, 0x000e, 0x0004 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0005 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0006 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0007 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0008 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0009 }, + { 0x03, 0x00, -1, 0x00, 0x0012, 0x0002 }, + { 0x03, 0x00, -1, 0x01, 0x0012, 0x0003 }, + { 0x03, 0x00, -1, 0x02, 0x0012, 0x0004 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0005 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0006 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0007 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0008 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0009 }, + { 0x03, 0x00, -1, 0x00, 0x001a, 0x0002 }, + { 0x03, 0x00, -1, 0x01, 0x001a, 0x0003 }, + { 0x03, 0x00, -1, 0x02, 0x001a, 0x0004 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0005 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0006 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0007 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0008 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0009 }, + { 0x04, 0x00, -1, 0x00, 0x0022, 0x0002 }, + { 0x04, 0x00, -1, 0x01, 0x0022, 0x0003 }, + { 0x04, 0x00, -1, 0x02, 0x0022, 0x0004 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0005 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0006 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0007 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0008 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0009 }, + { 0x04, 0x00, -1, 0x00, 0x0032, 0x0002 }, + { 0x04, 0x00, -1, 0x01, 0x0032, 0x0003 }, + { 0x04, 0x00, -1, 0x02, 0x0032, 0x0004 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0005 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0006 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0007 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0008 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0009 }, + { 0x05, 0x00, -1, 0x00, 0x0042, 0x0002 }, + { 0x05, 0x00, -1, 0x01, 0x0042, 0x0003 }, + { 0x05, 0x00, -1, 0x02, 0x0042, 0x0004 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0005 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0006 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0007 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0008 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0009 }, + { 0x05, 0x00, -1, 0x00, 0x0062, 0x0002 }, + { 0x05, 0x00, -1, 0x01, 0x0062, 0x0003 }, + { 0x05, 0x00, -1, 0x02, 0x0062, 0x0004 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0005 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0006 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0007 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0008 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0009 }, + { 0x02, 0x01, -1, 0x03, 0x000a, 0x000a }, + { 0x02, 0x01, -1, 0x03, 0x000a, 0x000c }, + { 0x02, 0x02, -1, 0x03, 0x000a, 0x000e }, + { 0x02, 0x02, -1, 0x03, 0x000a, 0x0012 }, + { 0x02, 0x03, -1, 0x03, 0x000a, 0x0016 }, + { 0x02, 0x03, -1, 0x03, 0x000a, 0x001e }, + { 0x02, 0x04, -1, 0x03, 0x000a, 0x0026 }, + { 0x02, 0x04, -1, 0x03, 0x000a, 0x0036 }, + { 0x02, 0x01, -1, 0x03, 0x000e, 0x000a }, + { 0x02, 0x01, -1, 0x03, 0x000e, 0x000c }, + { 0x02, 0x02, -1, 0x03, 0x000e, 0x000e }, + { 0x02, 0x02, -1, 0x03, 0x000e, 0x0012 }, + { 0x02, 0x03, -1, 0x03, 0x000e, 0x0016 }, + { 0x02, 0x03, -1, 0x03, 0x000e, 0x001e }, + { 0x02, 0x04, -1, 0x03, 0x000e, 0x0026 }, + { 0x02, 0x04, -1, 0x03, 0x000e, 0x0036 }, + { 0x03, 0x01, -1, 0x03, 0x0012, 0x000a }, + { 0x03, 0x01, -1, 0x03, 0x0012, 0x000c }, + { 0x03, 0x02, -1, 0x03, 0x0012, 0x000e }, + { 0x03, 0x02, -1, 0x03, 0x0012, 0x0012 }, + { 0x03, 0x03, -1, 0x03, 0x0012, 0x0016 }, + { 0x03, 0x03, -1, 0x03, 0x0012, 0x001e }, + { 0x03, 0x04, -1, 0x03, 0x0012, 0x0026 }, + { 0x03, 0x04, -1, 0x03, 0x0012, 0x0036 }, + { 0x03, 0x01, -1, 0x03, 0x001a, 0x000a }, + { 0x03, 0x01, -1, 0x03, 0x001a, 0x000c }, + { 0x03, 0x02, -1, 0x03, 0x001a, 0x000e }, + { 0x03, 0x02, -1, 0x03, 0x001a, 0x0012 }, + { 0x03, 0x03, -1, 0x03, 0x001a, 0x0016 }, + { 0x03, 0x03, -1, 0x03, 0x001a, 0x001e }, + { 0x03, 0x04, -1, 0x03, 0x001a, 0x0026 }, + { 0x03, 0x04, -1, 0x03, 0x001a, 0x0036 }, + { 0x04, 0x01, -1, 0x03, 0x0022, 0x000a }, + { 0x04, 0x01, -1, 0x03, 0x0022, 0x000c }, + { 0x04, 0x02, -1, 0x03, 0x0022, 0x000e }, + { 0x04, 0x02, -1, 0x03, 0x0022, 0x0012 }, + { 0x04, 0x03, -1, 0x03, 0x0022, 0x0016 }, + { 0x04, 0x03, -1, 0x03, 0x0022, 0x001e }, + { 0x04, 0x04, -1, 0x03, 0x0022, 0x0026 }, + { 0x04, 0x04, -1, 0x03, 0x0022, 0x0036 }, + { 0x04, 0x01, -1, 0x03, 0x0032, 0x000a }, + { 0x04, 0x01, -1, 0x03, 0x0032, 0x000c }, + { 0x04, 0x02, -1, 0x03, 0x0032, 0x000e }, + { 0x04, 0x02, -1, 0x03, 0x0032, 0x0012 }, + { 0x04, 0x03, -1, 0x03, 0x0032, 0x0016 }, + { 0x04, 0x03, -1, 0x03, 0x0032, 0x001e }, + { 0x04, 0x04, -1, 0x03, 0x0032, 0x0026 }, + { 0x04, 0x04, -1, 0x03, 0x0032, 0x0036 }, + { 0x05, 0x01, -1, 0x03, 0x0042, 0x000a }, + { 0x05, 0x01, -1, 0x03, 0x0042, 0x000c }, + { 0x05, 0x02, -1, 0x03, 0x0042, 0x000e }, + { 0x05, 0x02, -1, 0x03, 0x0042, 0x0012 }, + { 0x05, 0x03, -1, 0x03, 0x0042, 0x0016 }, + { 0x05, 0x03, -1, 0x03, 0x0042, 0x001e }, + { 0x05, 0x04, -1, 0x03, 0x0042, 0x0026 }, + { 0x05, 0x04, -1, 0x03, 0x0042, 0x0036 }, + { 0x05, 0x01, -1, 0x03, 0x0062, 0x000a }, + { 0x05, 0x01, -1, 0x03, 0x0062, 0x000c }, + { 0x05, 0x02, -1, 0x03, 0x0062, 0x000e }, + { 0x05, 0x02, -1, 0x03, 0x0062, 0x0012 }, + { 0x05, 0x03, -1, 0x03, 0x0062, 0x0016 }, + { 0x05, 0x03, -1, 0x03, 0x0062, 0x001e }, + { 0x05, 0x04, -1, 0x03, 0x0062, 0x0026 }, + { 0x05, 0x04, -1, 0x03, 0x0062, 0x0036 }, + { 0x00, 0x05, -1, 0x03, 0x0000, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0000, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0000, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0000, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0000, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0000, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0000, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0000, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0001, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0001, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0001, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0001, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0001, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0001, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0001, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0001, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0002, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0002, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0002, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0002, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0002, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0002, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0002, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0002, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0003, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0003, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0003, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0003, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0003, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0003, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0003, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0003, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0004, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0004, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0004, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0004, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0004, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0004, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0004, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0004, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0005, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0005, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0005, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0005, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0005, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0005, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0005, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0005, 0x0846 }, + { 0x01, 0x05, -1, 0x03, 0x0006, 0x0046 }, + { 0x01, 0x05, -1, 0x03, 0x0006, 0x0066 }, + { 0x01, 0x06, -1, 0x03, 0x0006, 0x0086 }, + { 0x01, 0x07, -1, 0x03, 0x0006, 0x00c6 }, + { 0x01, 0x08, -1, 0x03, 0x0006, 0x0146 }, + { 0x01, 0x09, -1, 0x03, 0x0006, 0x0246 }, + { 0x01, 0x0a, -1, 0x03, 0x0006, 0x0446 }, + { 0x01, 0x18, -1, 0x03, 0x0006, 0x0846 }, + { 0x01, 0x05, -1, 0x03, 0x0008, 0x0046 }, + { 0x01, 0x05, -1, 0x03, 0x0008, 0x0066 }, + { 0x01, 0x06, -1, 0x03, 0x0008, 0x0086 }, + { 0x01, 0x07, -1, 0x03, 0x0008, 0x00c6 }, + { 0x01, 0x08, -1, 0x03, 0x0008, 0x0146 }, + { 0x01, 0x09, -1, 0x03, 0x0008, 0x0246 }, + { 0x01, 0x0a, -1, 0x03, 0x0008, 0x0446 }, + { 0x01, 0x18, -1, 0x03, 0x0008, 0x0846 }, + { 0x06, 0x00, -1, 0x00, 0x0082, 0x0002 }, + { 0x06, 0x00, -1, 0x01, 0x0082, 0x0003 }, + { 0x06, 0x00, -1, 0x02, 0x0082, 0x0004 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0005 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0006 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0007 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0008 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0009 }, + { 0x07, 0x00, -1, 0x00, 0x00c2, 0x0002 }, + { 0x07, 0x00, -1, 0x01, 0x00c2, 0x0003 }, + { 0x07, 0x00, -1, 0x02, 0x00c2, 0x0004 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0005 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0006 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0007 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0008 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0009 }, + { 0x08, 0x00, -1, 0x00, 0x0142, 0x0002 }, + { 0x08, 0x00, -1, 0x01, 0x0142, 0x0003 }, + { 0x08, 0x00, -1, 0x02, 0x0142, 0x0004 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0005 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0006 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0007 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0008 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0009 }, + { 0x09, 0x00, -1, 0x00, 0x0242, 0x0002 }, + { 0x09, 0x00, -1, 0x01, 0x0242, 0x0003 }, + { 0x09, 0x00, -1, 0x02, 0x0242, 0x0004 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0005 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0006 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0007 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0008 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0009 }, + { 0x0a, 0x00, -1, 0x00, 0x0442, 0x0002 }, + { 0x0a, 0x00, -1, 0x01, 0x0442, 0x0003 }, + { 0x0a, 0x00, -1, 0x02, 0x0442, 0x0004 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0005 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0006 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0007 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0008 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0009 }, + { 0x0c, 0x00, -1, 0x00, 0x0842, 0x0002 }, + { 0x0c, 0x00, -1, 0x01, 0x0842, 0x0003 }, + { 0x0c, 0x00, -1, 0x02, 0x0842, 0x0004 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0005 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0006 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0007 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0008 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0009 }, + { 0x0e, 0x00, -1, 0x00, 0x1842, 0x0002 }, + { 0x0e, 0x00, -1, 0x01, 0x1842, 0x0003 }, + { 0x0e, 0x00, -1, 0x02, 0x1842, 0x0004 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0005 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0006 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0007 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0008 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0009 }, + { 0x18, 0x00, -1, 0x00, 0x5842, 0x0002 }, + { 0x18, 0x00, -1, 0x01, 0x5842, 0x0003 }, + { 0x18, 0x00, -1, 0x02, 0x5842, 0x0004 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0005 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0006 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0007 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0008 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0009 }, + { 0x02, 0x05, -1, 0x03, 0x000a, 0x0046 }, + { 0x02, 0x05, -1, 0x03, 0x000a, 0x0066 }, + { 0x02, 0x06, -1, 0x03, 0x000a, 0x0086 }, + { 0x02, 0x07, -1, 0x03, 0x000a, 0x00c6 }, + { 0x02, 0x08, -1, 0x03, 0x000a, 0x0146 }, + { 0x02, 0x09, -1, 0x03, 0x000a, 0x0246 }, + { 0x02, 0x0a, -1, 0x03, 0x000a, 0x0446 }, + { 0x02, 0x18, -1, 0x03, 0x000a, 0x0846 }, + { 0x02, 0x05, -1, 0x03, 0x000e, 0x0046 }, + { 0x02, 0x05, -1, 0x03, 0x000e, 0x0066 }, + { 0x02, 0x06, -1, 0x03, 0x000e, 0x0086 }, + { 0x02, 0x07, -1, 0x03, 0x000e, 0x00c6 }, + { 0x02, 0x08, -1, 0x03, 0x000e, 0x0146 }, + { 0x02, 0x09, -1, 0x03, 0x000e, 0x0246 }, + { 0x02, 0x0a, -1, 0x03, 0x000e, 0x0446 }, + { 0x02, 0x18, -1, 0x03, 0x000e, 0x0846 }, + { 0x03, 0x05, -1, 0x03, 0x0012, 0x0046 }, + { 0x03, 0x05, -1, 0x03, 0x0012, 0x0066 }, + { 0x03, 0x06, -1, 0x03, 0x0012, 0x0086 }, + { 0x03, 0x07, -1, 0x03, 0x0012, 0x00c6 }, + { 0x03, 0x08, -1, 0x03, 0x0012, 0x0146 }, + { 0x03, 0x09, -1, 0x03, 0x0012, 0x0246 }, + { 0x03, 0x0a, -1, 0x03, 0x0012, 0x0446 }, + { 0x03, 0x18, -1, 0x03, 0x0012, 0x0846 }, + { 0x03, 0x05, -1, 0x03, 0x001a, 0x0046 }, + { 0x03, 0x05, -1, 0x03, 0x001a, 0x0066 }, + { 0x03, 0x06, -1, 0x03, 0x001a, 0x0086 }, + { 0x03, 0x07, -1, 0x03, 0x001a, 0x00c6 }, + { 0x03, 0x08, -1, 0x03, 0x001a, 0x0146 }, + { 0x03, 0x09, -1, 0x03, 0x001a, 0x0246 }, + { 0x03, 0x0a, -1, 0x03, 0x001a, 0x0446 }, + { 0x03, 0x18, -1, 0x03, 0x001a, 0x0846 }, + { 0x04, 0x05, -1, 0x03, 0x0022, 0x0046 }, + { 0x04, 0x05, -1, 0x03, 0x0022, 0x0066 }, + { 0x04, 0x06, -1, 0x03, 0x0022, 0x0086 }, + { 0x04, 0x07, -1, 0x03, 0x0022, 0x00c6 }, + { 0x04, 0x08, -1, 0x03, 0x0022, 0x0146 }, + { 0x04, 0x09, -1, 0x03, 0x0022, 0x0246 }, + { 0x04, 0x0a, -1, 0x03, 0x0022, 0x0446 }, + { 0x04, 0x18, -1, 0x03, 0x0022, 0x0846 }, + { 0x04, 0x05, -1, 0x03, 0x0032, 0x0046 }, + { 0x04, 0x05, -1, 0x03, 0x0032, 0x0066 }, + { 0x04, 0x06, -1, 0x03, 0x0032, 0x0086 }, + { 0x04, 0x07, -1, 0x03, 0x0032, 0x00c6 }, + { 0x04, 0x08, -1, 0x03, 0x0032, 0x0146 }, + { 0x04, 0x09, -1, 0x03, 0x0032, 0x0246 }, + { 0x04, 0x0a, -1, 0x03, 0x0032, 0x0446 }, + { 0x04, 0x18, -1, 0x03, 0x0032, 0x0846 }, + { 0x05, 0x05, -1, 0x03, 0x0042, 0x0046 }, + { 0x05, 0x05, -1, 0x03, 0x0042, 0x0066 }, + { 0x05, 0x06, -1, 0x03, 0x0042, 0x0086 }, + { 0x05, 0x07, -1, 0x03, 0x0042, 0x00c6 }, + { 0x05, 0x08, -1, 0x03, 0x0042, 0x0146 }, + { 0x05, 0x09, -1, 0x03, 0x0042, 0x0246 }, + { 0x05, 0x0a, -1, 0x03, 0x0042, 0x0446 }, + { 0x05, 0x18, -1, 0x03, 0x0042, 0x0846 }, + { 0x05, 0x05, -1, 0x03, 0x0062, 0x0046 }, + { 0x05, 0x05, -1, 0x03, 0x0062, 0x0066 }, + { 0x05, 0x06, -1, 0x03, 0x0062, 0x0086 }, + { 0x05, 0x07, -1, 0x03, 0x0062, 0x00c6 }, + { 0x05, 0x08, -1, 0x03, 0x0062, 0x0146 }, + { 0x05, 0x09, -1, 0x03, 0x0062, 0x0246 }, + { 0x05, 0x0a, -1, 0x03, 0x0062, 0x0446 }, + { 0x05, 0x18, -1, 0x03, 0x0062, 0x0846 }, + { 0x06, 0x01, -1, 0x03, 0x0082, 0x000a }, + { 0x06, 0x01, -1, 0x03, 0x0082, 0x000c }, + { 0x06, 0x02, -1, 0x03, 0x0082, 0x000e }, + { 0x06, 0x02, -1, 0x03, 0x0082, 0x0012 }, + { 0x06, 0x03, -1, 0x03, 0x0082, 0x0016 }, + { 0x06, 0x03, -1, 0x03, 0x0082, 0x001e }, + { 0x06, 0x04, -1, 0x03, 0x0082, 0x0026 }, + { 0x06, 0x04, -1, 0x03, 0x0082, 0x0036 }, + { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000a }, + { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000c }, + { 0x07, 0x02, -1, 0x03, 0x00c2, 0x000e }, + { 0x07, 0x02, -1, 0x03, 0x00c2, 0x0012 }, + { 0x07, 0x03, -1, 0x03, 0x00c2, 0x0016 }, + { 0x07, 0x03, -1, 0x03, 0x00c2, 0x001e }, + { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0026 }, + { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0036 }, + { 0x08, 0x01, -1, 0x03, 0x0142, 0x000a }, + { 0x08, 0x01, -1, 0x03, 0x0142, 0x000c }, + { 0x08, 0x02, -1, 0x03, 0x0142, 0x000e }, + { 0x08, 0x02, -1, 0x03, 0x0142, 0x0012 }, + { 0x08, 0x03, -1, 0x03, 0x0142, 0x0016 }, + { 0x08, 0x03, -1, 0x03, 0x0142, 0x001e }, + { 0x08, 0x04, -1, 0x03, 0x0142, 0x0026 }, + { 0x08, 0x04, -1, 0x03, 0x0142, 0x0036 }, + { 0x09, 0x01, -1, 0x03, 0x0242, 0x000a }, + { 0x09, 0x01, -1, 0x03, 0x0242, 0x000c }, + { 0x09, 0x02, -1, 0x03, 0x0242, 0x000e }, + { 0x09, 0x02, -1, 0x03, 0x0242, 0x0012 }, + { 0x09, 0x03, -1, 0x03, 0x0242, 0x0016 }, + { 0x09, 0x03, -1, 0x03, 0x0242, 0x001e }, + { 0x09, 0x04, -1, 0x03, 0x0242, 0x0026 }, + { 0x09, 0x04, -1, 0x03, 0x0242, 0x0036 }, + { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000a }, + { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000c }, + { 0x0a, 0x02, -1, 0x03, 0x0442, 0x000e }, + { 0x0a, 0x02, -1, 0x03, 0x0442, 0x0012 }, + { 0x0a, 0x03, -1, 0x03, 0x0442, 0x0016 }, + { 0x0a, 0x03, -1, 0x03, 0x0442, 0x001e }, + { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0026 }, + { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0036 }, + { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000a }, + { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000c }, + { 0x0c, 0x02, -1, 0x03, 0x0842, 0x000e }, + { 0x0c, 0x02, -1, 0x03, 0x0842, 0x0012 }, + { 0x0c, 0x03, -1, 0x03, 0x0842, 0x0016 }, + { 0x0c, 0x03, -1, 0x03, 0x0842, 0x001e }, + { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0026 }, + { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0036 }, + { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000a }, + { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000c }, + { 0x0e, 0x02, -1, 0x03, 0x1842, 0x000e }, + { 0x0e, 0x02, -1, 0x03, 0x1842, 0x0012 }, + { 0x0e, 0x03, -1, 0x03, 0x1842, 0x0016 }, + { 0x0e, 0x03, -1, 0x03, 0x1842, 0x001e }, + { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0026 }, + { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0036 }, + { 0x18, 0x01, -1, 0x03, 0x5842, 0x000a }, + { 0x18, 0x01, -1, 0x03, 0x5842, 0x000c }, + { 0x18, 0x02, -1, 0x03, 0x5842, 0x000e }, + { 0x18, 0x02, -1, 0x03, 0x5842, 0x0012 }, + { 0x18, 0x03, -1, 0x03, 0x5842, 0x0016 }, + { 0x18, 0x03, -1, 0x03, 0x5842, 0x001e }, + { 0x18, 0x04, -1, 0x03, 0x5842, 0x0026 }, + { 0x18, 0x04, -1, 0x03, 0x5842, 0x0036 }, + { 0x06, 0x05, -1, 0x03, 0x0082, 0x0046 }, + { 0x06, 0x05, -1, 0x03, 0x0082, 0x0066 }, + { 0x06, 0x06, -1, 0x03, 0x0082, 0x0086 }, + { 0x06, 0x07, -1, 0x03, 0x0082, 0x00c6 }, + { 0x06, 0x08, -1, 0x03, 0x0082, 0x0146 }, + { 0x06, 0x09, -1, 0x03, 0x0082, 0x0246 }, + { 0x06, 0x0a, -1, 0x03, 0x0082, 0x0446 }, + { 0x06, 0x18, -1, 0x03, 0x0082, 0x0846 }, + { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0046 }, + { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0066 }, + { 0x07, 0x06, -1, 0x03, 0x00c2, 0x0086 }, + { 0x07, 0x07, -1, 0x03, 0x00c2, 0x00c6 }, + { 0x07, 0x08, -1, 0x03, 0x00c2, 0x0146 }, + { 0x07, 0x09, -1, 0x03, 0x00c2, 0x0246 }, + { 0x07, 0x0a, -1, 0x03, 0x00c2, 0x0446 }, + { 0x07, 0x18, -1, 0x03, 0x00c2, 0x0846 }, + { 0x08, 0x05, -1, 0x03, 0x0142, 0x0046 }, + { 0x08, 0x05, -1, 0x03, 0x0142, 0x0066 }, + { 0x08, 0x06, -1, 0x03, 0x0142, 0x0086 }, + { 0x08, 0x07, -1, 0x03, 0x0142, 0x00c6 }, + { 0x08, 0x08, -1, 0x03, 0x0142, 0x0146 }, + { 0x08, 0x09, -1, 0x03, 0x0142, 0x0246 }, + { 0x08, 0x0a, -1, 0x03, 0x0142, 0x0446 }, + { 0x08, 0x18, -1, 0x03, 0x0142, 0x0846 }, + { 0x09, 0x05, -1, 0x03, 0x0242, 0x0046 }, + { 0x09, 0x05, -1, 0x03, 0x0242, 0x0066 }, + { 0x09, 0x06, -1, 0x03, 0x0242, 0x0086 }, + { 0x09, 0x07, -1, 0x03, 0x0242, 0x00c6 }, + { 0x09, 0x08, -1, 0x03, 0x0242, 0x0146 }, + { 0x09, 0x09, -1, 0x03, 0x0242, 0x0246 }, + { 0x09, 0x0a, -1, 0x03, 0x0242, 0x0446 }, + { 0x09, 0x18, -1, 0x03, 0x0242, 0x0846 }, + { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0046 }, + { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0066 }, + { 0x0a, 0x06, -1, 0x03, 0x0442, 0x0086 }, + { 0x0a, 0x07, -1, 0x03, 0x0442, 0x00c6 }, + { 0x0a, 0x08, -1, 0x03, 0x0442, 0x0146 }, + { 0x0a, 0x09, -1, 0x03, 0x0442, 0x0246 }, + { 0x0a, 0x0a, -1, 0x03, 0x0442, 0x0446 }, + { 0x0a, 0x18, -1, 0x03, 0x0442, 0x0846 }, + { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0046 }, + { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0066 }, + { 0x0c, 0x06, -1, 0x03, 0x0842, 0x0086 }, + { 0x0c, 0x07, -1, 0x03, 0x0842, 0x00c6 }, + { 0x0c, 0x08, -1, 0x03, 0x0842, 0x0146 }, + { 0x0c, 0x09, -1, 0x03, 0x0842, 0x0246 }, + { 0x0c, 0x0a, -1, 0x03, 0x0842, 0x0446 }, + { 0x0c, 0x18, -1, 0x03, 0x0842, 0x0846 }, + { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0046 }, + { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0066 }, + { 0x0e, 0x06, -1, 0x03, 0x1842, 0x0086 }, + { 0x0e, 0x07, -1, 0x03, 0x1842, 0x00c6 }, + { 0x0e, 0x08, -1, 0x03, 0x1842, 0x0146 }, + { 0x0e, 0x09, -1, 0x03, 0x1842, 0x0246 }, + { 0x0e, 0x0a, -1, 0x03, 0x1842, 0x0446 }, + { 0x0e, 0x18, -1, 0x03, 0x1842, 0x0846 }, + { 0x18, 0x05, -1, 0x03, 0x5842, 0x0046 }, + { 0x18, 0x05, -1, 0x03, 0x5842, 0x0066 }, + { 0x18, 0x06, -1, 0x03, 0x5842, 0x0086 }, + { 0x18, 0x07, -1, 0x03, 0x5842, 0x00c6 }, + { 0x18, 0x08, -1, 0x03, 0x5842, 0x0146 }, + { 0x18, 0x09, -1, 0x03, 0x5842, 0x0246 }, + { 0x18, 0x0a, -1, 0x03, 0x5842, 0x0446 }, + { 0x18, 0x18, -1, 0x03, 0x5842, 0x0846 }, +}; + +#endif /* BROTLI_DEC_PREFIX_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/state.c b/BaseTools/Source/C/BrotliCompress/dec/state.c new file mode 100644 index 000000000000..940abaaddb47 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/state.c @@ -0,0 +1,168 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include "./state.h" + +#include /* free, malloc */ + +#include "../common/types.h" +#include "./huffman.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static void* DefaultAllocFunc(void* opaque, size_t size) { + BROTLI_UNUSED(opaque); + return malloc(size); +} + +static void DefaultFreeFunc(void* opaque, void* address) { + BROTLI_UNUSED(opaque); + free(address); +} + +void BrotliDecoderStateInit(BrotliDecoderState* s) { + BrotliDecoderStateInitWithCustomAllocators(s, 0, 0, 0); +} + +void BrotliDecoderStateInitWithCustomAllocators(BrotliDecoderState* s, + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) { + if (!alloc_func) { + s->alloc_func = DefaultAllocFunc; + s->free_func = DefaultFreeFunc; + s->memory_manager_opaque = 0; + } else { + s->alloc_func = alloc_func; + s->free_func = free_func; + s->memory_manager_opaque = opaque; + } + + BrotliInitBitReader(&s->br); + s->state = BROTLI_STATE_UNINITED; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE; + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE; + s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE; + s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE; + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE; + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE; + + s->buffer_length = 0; + s->loop_counter = 0; + s->pos = 0; + s->rb_roundtrips = 0; + s->partial_pos_out = 0; + + s->block_type_trees = NULL; + s->block_len_trees = NULL; + s->ringbuffer = NULL; + + s->context_map = NULL; + s->context_modes = NULL; + s->dist_context_map = NULL; + s->context_map_slice = NULL; + s->dist_context_map_slice = NULL; + + s->sub_loop_counter = 0; + + s->literal_hgroup.codes = NULL; + s->literal_hgroup.htrees = NULL; + s->insert_copy_hgroup.codes = NULL; + s->insert_copy_hgroup.htrees = NULL; + s->distance_hgroup.codes = NULL; + s->distance_hgroup.htrees = NULL; + + s->custom_dict = NULL; + s->custom_dict_size = 0; + + s->is_last_metablock = 0; + s->window_bits = 0; + s->max_distance = 0; + s->dist_rb[0] = 16; + s->dist_rb[1] = 15; + s->dist_rb[2] = 11; + s->dist_rb[3] = 4; + s->dist_rb_idx = 0; + s->block_type_trees = NULL; + s->block_len_trees = NULL; + + /* Make small negative indexes addressable. */ + s->symbol_lists = &s->symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1]; + + s->mtf_upper_bound = 255; +} + +void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s) { + s->meta_block_remaining_len = 0; + s->block_length[0] = 1U << 28; + s->block_length[1] = 1U << 28; + s->block_length[2] = 1U << 28; + s->num_block_types[0] = 1; + s->num_block_types[1] = 1; + s->num_block_types[2] = 1; + s->block_type_rb[0] = 1; + s->block_type_rb[1] = 0; + s->block_type_rb[2] = 1; + s->block_type_rb[3] = 0; + s->block_type_rb[4] = 1; + s->block_type_rb[5] = 0; + s->context_map = NULL; + s->context_modes = NULL; + s->dist_context_map = NULL; + s->context_map_slice = NULL; + s->literal_htree = NULL; + s->dist_context_map_slice = NULL; + s->dist_htree_index = 0; + s->context_lookup1 = NULL; + s->context_lookup2 = NULL; + s->literal_hgroup.codes = NULL; + s->literal_hgroup.htrees = NULL; + s->insert_copy_hgroup.codes = NULL; + s->insert_copy_hgroup.htrees = NULL; + s->distance_hgroup.codes = NULL; + s->distance_hgroup.htrees = NULL; +} + +void BrotliDecoderStateCleanupAfterMetablock(BrotliDecoderState* s) { + BROTLI_FREE(s, s->context_modes); + BROTLI_FREE(s, s->context_map); + BROTLI_FREE(s, s->dist_context_map); + + BrotliDecoderHuffmanTreeGroupRelease(s, &s->literal_hgroup); + BrotliDecoderHuffmanTreeGroupRelease(s, &s->insert_copy_hgroup); + BrotliDecoderHuffmanTreeGroupRelease(s, &s->distance_hgroup); +} + +void BrotliDecoderStateCleanup(BrotliDecoderState* s) { + BrotliDecoderStateCleanupAfterMetablock(s); + + BROTLI_FREE(s, s->ringbuffer); + BROTLI_FREE(s, s->block_type_trees); +} + +void BrotliDecoderHuffmanTreeGroupInit(BrotliDecoderState* s, + HuffmanTreeGroup* group, uint32_t alphabet_size, uint32_t ntrees) { + /* Pack two allocations into one */ + const size_t max_table_size = kMaxHuffmanTableSize[(alphabet_size + 31) >> 5]; + const size_t code_size = sizeof(HuffmanCode) * ntrees * max_table_size; + const size_t htree_size = sizeof(HuffmanCode*) * ntrees; + char* p = (char*)BROTLI_ALLOC(s, code_size + htree_size); + group->alphabet_size = (uint16_t)alphabet_size; + group->num_htrees = (uint16_t)ntrees; + group->codes = (HuffmanCode*)p; + group->htrees = (HuffmanCode**)(p + code_size); +} + +void BrotliDecoderHuffmanTreeGroupRelease( + BrotliDecoderState* s, HuffmanTreeGroup* group) { + BROTLI_FREE(s, group->codes); + group->htrees = NULL; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/dec/state.h b/BaseTools/Source/C/BrotliCompress/dec/state.h new file mode 100644 index 000000000000..22681cbb9747 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/state.h @@ -0,0 +1,246 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Brotli state for partial streaming decoding. */ + +#ifndef BROTLI_DEC_STATE_H_ +#define BROTLI_DEC_STATE_H_ + +#include "../common/constants.h" +#include "../common/types.h" +#include "./bit_reader.h" +#include "./huffman.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef enum { + BROTLI_STATE_UNINITED, + BROTLI_STATE_METABLOCK_BEGIN, + BROTLI_STATE_METABLOCK_HEADER, + BROTLI_STATE_METABLOCK_HEADER_2, + BROTLI_STATE_CONTEXT_MODES, + BROTLI_STATE_COMMAND_BEGIN, + BROTLI_STATE_COMMAND_INNER, + BROTLI_STATE_COMMAND_POST_DECODE_LITERALS, + BROTLI_STATE_COMMAND_POST_WRAP_COPY, + BROTLI_STATE_UNCOMPRESSED, + BROTLI_STATE_METADATA, + BROTLI_STATE_COMMAND_INNER_WRITE, + BROTLI_STATE_METABLOCK_DONE, + BROTLI_STATE_COMMAND_POST_WRITE_1, + BROTLI_STATE_COMMAND_POST_WRITE_2, + BROTLI_STATE_HUFFMAN_CODE_0, + BROTLI_STATE_HUFFMAN_CODE_1, + BROTLI_STATE_HUFFMAN_CODE_2, + BROTLI_STATE_HUFFMAN_CODE_3, + BROTLI_STATE_CONTEXT_MAP_1, + BROTLI_STATE_CONTEXT_MAP_2, + BROTLI_STATE_TREE_GROUP, + BROTLI_STATE_DONE +} BrotliRunningState; + +typedef enum { + BROTLI_STATE_METABLOCK_HEADER_NONE, + BROTLI_STATE_METABLOCK_HEADER_EMPTY, + BROTLI_STATE_METABLOCK_HEADER_NIBBLES, + BROTLI_STATE_METABLOCK_HEADER_SIZE, + BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED, + BROTLI_STATE_METABLOCK_HEADER_RESERVED, + BROTLI_STATE_METABLOCK_HEADER_BYTES, + BROTLI_STATE_METABLOCK_HEADER_METADATA +} BrotliRunningMetablockHeaderState; + +typedef enum { + BROTLI_STATE_UNCOMPRESSED_NONE, + BROTLI_STATE_UNCOMPRESSED_WRITE +} BrotliRunningUncompressedState; + +typedef enum { + BROTLI_STATE_TREE_GROUP_NONE, + BROTLI_STATE_TREE_GROUP_LOOP +} BrotliRunningTreeGroupState; + +typedef enum { + BROTLI_STATE_CONTEXT_MAP_NONE, + BROTLI_STATE_CONTEXT_MAP_READ_PREFIX, + BROTLI_STATE_CONTEXT_MAP_HUFFMAN, + BROTLI_STATE_CONTEXT_MAP_DECODE, + BROTLI_STATE_CONTEXT_MAP_TRANSFORM +} BrotliRunningContextMapState; + +typedef enum { + BROTLI_STATE_HUFFMAN_NONE, + BROTLI_STATE_HUFFMAN_SIMPLE_SIZE, + BROTLI_STATE_HUFFMAN_SIMPLE_READ, + BROTLI_STATE_HUFFMAN_SIMPLE_BUILD, + BROTLI_STATE_HUFFMAN_COMPLEX, + BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS +} BrotliRunningHuffmanState; + +typedef enum { + BROTLI_STATE_DECODE_UINT8_NONE, + BROTLI_STATE_DECODE_UINT8_SHORT, + BROTLI_STATE_DECODE_UINT8_LONG +} BrotliRunningDecodeUint8State; + +typedef enum { + BROTLI_STATE_READ_BLOCK_LENGTH_NONE, + BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX +} BrotliRunningReadBlockLengthState; + +struct BrotliDecoderStateStruct { + BrotliRunningState state; + + /* This counter is reused for several disjoint loops. */ + int loop_counter; + + BrotliBitReader br; + + brotli_alloc_func alloc_func; + brotli_free_func free_func; + void* memory_manager_opaque; + + /* Temporary storage for remaining input. */ + union { + uint64_t u64; + uint8_t u8[8]; + } buffer; + uint32_t buffer_length; + + int pos; + int max_backward_distance; + int max_backward_distance_minus_custom_dict_size; + int max_distance; + int ringbuffer_size; + int ringbuffer_mask; + int dist_rb_idx; + int dist_rb[4]; + int error_code; + uint32_t sub_loop_counter; + uint8_t* ringbuffer; + uint8_t* ringbuffer_end; + HuffmanCode* htree_command; + const uint8_t* context_lookup1; + const uint8_t* context_lookup2; + uint8_t* context_map_slice; + uint8_t* dist_context_map_slice; + + /* This ring buffer holds a few past copy distances that will be used by */ + /* some special distance codes. */ + HuffmanTreeGroup literal_hgroup; + HuffmanTreeGroup insert_copy_hgroup; + HuffmanTreeGroup distance_hgroup; + HuffmanCode* block_type_trees; + HuffmanCode* block_len_trees; + /* This is true if the literal context map histogram type always matches the + block type. It is then not needed to keep the context (faster decoding). */ + int trivial_literal_context; + int distance_context; + int meta_block_remaining_len; + uint32_t block_length_index; + uint32_t block_length[3]; + uint32_t num_block_types[3]; + uint32_t block_type_rb[6]; + uint32_t distance_postfix_bits; + uint32_t num_direct_distance_codes; + int distance_postfix_mask; + uint32_t num_dist_htrees; + uint8_t* dist_context_map; + HuffmanCode* literal_htree; + uint8_t dist_htree_index; + uint32_t repeat_code_len; + uint32_t prev_code_len; + + int copy_length; + int distance_code; + + /* For partial write operations */ + size_t rb_roundtrips; /* How many times we went around the ringbuffer */ + size_t partial_pos_out; /* How much output to the user in total (<= rb) */ + + /* For ReadHuffmanCode */ + uint32_t symbol; + uint32_t repeat; + uint32_t space; + + HuffmanCode table[32]; + /* List of of symbol chains. */ + uint16_t* symbol_lists; + /* Storage from symbol_lists. */ + uint16_t symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1 + + BROTLI_NUM_COMMAND_SYMBOLS]; + /* Tails of symbol chains. */ + int next_symbol[32]; + uint8_t code_length_code_lengths[BROTLI_CODE_LENGTH_CODES]; + /* Population counts for the code lengths */ + uint16_t code_length_histo[16]; + + /* For HuffmanTreeGroupDecode */ + int htree_index; + HuffmanCode* next; + + /* For DecodeContextMap */ + uint32_t context_index; + uint32_t max_run_length_prefix; + uint32_t code; + HuffmanCode context_map_table[BROTLI_HUFFMAN_MAX_SIZE_272]; + + /* For InverseMoveToFrontTransform */ + uint32_t mtf_upper_bound; + uint8_t mtf[256 + 4]; + + /* For custom dictionaries */ + const uint8_t* custom_dict; + int custom_dict_size; + + /* less used attributes are in the end of this struct */ + /* States inside function calls */ + BrotliRunningMetablockHeaderState substate_metablock_header; + BrotliRunningTreeGroupState substate_tree_group; + BrotliRunningContextMapState substate_context_map; + BrotliRunningUncompressedState substate_uncompressed; + BrotliRunningHuffmanState substate_huffman; + BrotliRunningDecodeUint8State substate_decode_uint8; + BrotliRunningReadBlockLengthState substate_read_block_length; + + uint8_t is_last_metablock; + uint8_t is_uncompressed; + uint8_t is_metadata; + uint8_t size_nibbles; + uint32_t window_bits; + + uint32_t num_literal_htrees; + uint8_t* context_map; + uint8_t* context_modes; + + uint32_t trivial_literal_contexts[8]; /* 256 bits */ +}; + +typedef struct BrotliDecoderStateStruct BrotliDecoderStateInternal; +#define BrotliDecoderState BrotliDecoderStateInternal + +BROTLI_INTERNAL void BrotliDecoderStateInit(BrotliDecoderState* s); +BROTLI_INTERNAL void BrotliDecoderStateInitWithCustomAllocators( + BrotliDecoderState* s, brotli_alloc_func alloc_func, + brotli_free_func free_func, void* opaque); +BROTLI_INTERNAL void BrotliDecoderStateCleanup(BrotliDecoderState* s); +BROTLI_INTERNAL void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s); +BROTLI_INTERNAL void BrotliDecoderStateCleanupAfterMetablock( + BrotliDecoderState* s); +BROTLI_INTERNAL void BrotliDecoderHuffmanTreeGroupInit( + BrotliDecoderState* s, HuffmanTreeGroup* group, uint32_t alphabet_size, + uint32_t ntrees); +BROTLI_INTERNAL void BrotliDecoderHuffmanTreeGroupRelease( + BrotliDecoderState* s, HuffmanTreeGroup* group); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_STATE_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/dec/transform.h b/BaseTools/Source/C/BrotliCompress/dec/transform.h new file mode 100644 index 000000000000..9d6501a45268 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/dec/transform.h @@ -0,0 +1,300 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Transformations on dictionary words. */ + +#ifndef BROTLI_DEC_TRANSFORM_H_ +#define BROTLI_DEC_TRANSFORM_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +enum WordTransformType { + kIdentity = 0, + kOmitLast1 = 1, + kOmitLast2 = 2, + kOmitLast3 = 3, + kOmitLast4 = 4, + kOmitLast5 = 5, + kOmitLast6 = 6, + kOmitLast7 = 7, + kOmitLast8 = 8, + kOmitLast9 = 9, + kUppercaseFirst = 10, + kUppercaseAll = 11, + kOmitFirst1 = 12, + kOmitFirst2 = 13, + kOmitFirst3 = 14, + kOmitFirst4 = 15, + kOmitFirst5 = 16, + kOmitFirst6 = 17, + kOmitFirst7 = 18, + kOmitFirst8 = 19, + kOmitFirst9 = 20 +}; + +typedef struct { + const uint8_t prefix_id; + const uint8_t transform; + const uint8_t suffix_id; +} Transform; + +static const char kPrefixSuffix[208] = + "\0 \0, \0 of the \0 of \0s \0.\0 and \0 in \0\"\0 to \0\">\0\n\0. \0]\0" + " for \0 a \0 that \0\'\0 with \0 from \0 by \0(\0. The \0 on \0 as \0" + " is \0ing \0\n\t\0:\0ed \0=\"\0 at \0ly \0,\0=\'\0.com/\0. This \0" + " not \0er \0al \0ful \0ive \0less \0est \0ize \0\xc2\xa0\0ous "; + +enum { + /* EMPTY = "" + SP = " " + DQUOT = "\"" + SQUOT = "'" + CLOSEBR = "]" + OPEN = "(" + SLASH = "/" + NBSP = non-breaking space "\0xc2\xa0" + */ + kPFix_EMPTY = 0, + kPFix_SP = 1, + kPFix_COMMASP = 3, + kPFix_SPofSPtheSP = 6, + kPFix_SPtheSP = 9, + kPFix_eSP = 12, + kPFix_SPofSP = 15, + kPFix_sSP = 20, + kPFix_DOT = 23, + kPFix_SPandSP = 25, + kPFix_SPinSP = 31, + kPFix_DQUOT = 36, + kPFix_SPtoSP = 38, + kPFix_DQUOTGT = 43, + kPFix_NEWLINE = 46, + kPFix_DOTSP = 48, + kPFix_CLOSEBR = 51, + kPFix_SPforSP = 53, + kPFix_SPaSP = 59, + kPFix_SPthatSP = 63, + kPFix_SQUOT = 70, + kPFix_SPwithSP = 72, + kPFix_SPfromSP = 79, + kPFix_SPbySP = 86, + kPFix_OPEN = 91, + kPFix_DOTSPTheSP = 93, + kPFix_SPonSP = 100, + kPFix_SPasSP = 105, + kPFix_SPisSP = 110, + kPFix_ingSP = 115, + kPFix_NEWLINETAB = 120, + kPFix_COLON = 123, + kPFix_edSP = 125, + kPFix_EQDQUOT = 129, + kPFix_SPatSP = 132, + kPFix_lySP = 137, + kPFix_COMMA = 141, + kPFix_EQSQUOT = 143, + kPFix_DOTcomSLASH = 146, + kPFix_DOTSPThisSP = 152, + kPFix_SPnotSP = 160, + kPFix_erSP = 166, + kPFix_alSP = 170, + kPFix_fulSP = 174, + kPFix_iveSP = 179, + kPFix_lessSP = 184, + kPFix_estSP = 190, + kPFix_izeSP = 195, + kPFix_NBSP = 200, + kPFix_ousSP = 203 +}; + +static const Transform kTransforms[] = { + { kPFix_EMPTY, kIdentity, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SP }, + { kPFix_SP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kOmitFirst1, kPFix_EMPTY }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_SPtheSP }, + { kPFix_SP, kIdentity, kPFix_EMPTY }, + { kPFix_sSP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_SPofSP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPandSP }, + { kPFix_EMPTY, kOmitFirst2, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast1, kPFix_EMPTY }, + { kPFix_COMMASP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_COMMASP }, + { kPFix_SP, kUppercaseFirst, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_SPinSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPtoSP }, + { kPFix_eSP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_DQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_DOT }, + { kPFix_EMPTY, kIdentity, kPFix_DQUOTGT }, + { kPFix_EMPTY, kIdentity, kPFix_NEWLINE }, + { kPFix_EMPTY, kOmitLast3, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_CLOSEBR }, + { kPFix_EMPTY, kIdentity, kPFix_SPforSP }, + { kPFix_EMPTY, kOmitFirst3, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast2, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPaSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPthatSP }, + { kPFix_SP, kUppercaseFirst, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_DOTSP }, + { kPFix_DOT, kIdentity, kPFix_EMPTY }, + { kPFix_SP, kIdentity, kPFix_COMMASP }, + { kPFix_EMPTY, kOmitFirst4, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPwithSP }, + { kPFix_EMPTY, kIdentity, kPFix_SQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_SPfromSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPbySP }, + { kPFix_EMPTY, kOmitFirst5, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitFirst6, kPFix_EMPTY }, + { kPFix_SPtheSP, kIdentity, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast4, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_DOTSPTheSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPonSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPasSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPisSP }, + { kPFix_EMPTY, kOmitLast7, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast1, kPFix_ingSP }, + { kPFix_EMPTY, kIdentity, kPFix_NEWLINETAB }, + { kPFix_EMPTY, kIdentity, kPFix_COLON }, + { kPFix_SP, kIdentity, kPFix_DOTSP }, + { kPFix_EMPTY, kIdentity, kPFix_edSP }, + { kPFix_EMPTY, kOmitFirst9, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitFirst7, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast6, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_COMMASP }, + { kPFix_EMPTY, kOmitLast8, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPatSP }, + { kPFix_EMPTY, kIdentity, kPFix_lySP }, + { kPFix_SPtheSP, kIdentity, kPFix_SPofSP }, + { kPFix_EMPTY, kOmitLast5, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast9, kPFix_EMPTY }, + { kPFix_SP, kUppercaseFirst, kPFix_COMMASP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DQUOT }, + { kPFix_DOT, kIdentity, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseAll, kPFix_SP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DQUOTGT }, + { kPFix_EMPTY, kIdentity, kPFix_EQDQUOT }, + { kPFix_SP, kIdentity, kPFix_DOT }, + { kPFix_DOTcomSLASH, kIdentity, kPFix_EMPTY }, + { kPFix_SPtheSP, kIdentity, kPFix_SPofSPtheSP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_SQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_DOTSPThisSP }, + { kPFix_EMPTY, kIdentity, kPFix_COMMA }, + { kPFix_DOT, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DOT }, + { kPFix_EMPTY, kIdentity, kPFix_SPnotSP }, + { kPFix_SP, kIdentity, kPFix_EQDQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_erSP }, + { kPFix_SP, kUppercaseAll, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_alSP }, + { kPFix_SP, kUppercaseAll, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_EQSQUOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DQUOT }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DOTSP }, + { kPFix_SP, kIdentity, kPFix_OPEN }, + { kPFix_EMPTY, kIdentity, kPFix_fulSP }, + { kPFix_SP, kUppercaseFirst, kPFix_DOTSP }, + { kPFix_EMPTY, kIdentity, kPFix_iveSP }, + { kPFix_EMPTY, kIdentity, kPFix_lessSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_SQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_estSP }, + { kPFix_SP, kUppercaseFirst, kPFix_DOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DQUOTGT }, + { kPFix_SP, kIdentity, kPFix_EQSQUOT }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_COMMA }, + { kPFix_EMPTY, kIdentity, kPFix_izeSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DOT }, + { kPFix_NBSP, kIdentity, kPFix_EMPTY }, + { kPFix_SP, kIdentity, kPFix_COMMA }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_EQDQUOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_EQDQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_ousSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_COMMASP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_EQSQUOT }, + { kPFix_SP, kUppercaseFirst, kPFix_COMMA }, + { kPFix_SP, kUppercaseAll, kPFix_EQDQUOT }, + { kPFix_SP, kUppercaseAll, kPFix_COMMASP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_COMMA }, + { kPFix_EMPTY, kUppercaseAll, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DOTSP }, + { kPFix_SP, kUppercaseAll, kPFix_DOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_EQSQUOT }, + { kPFix_SP, kUppercaseAll, kPFix_DOTSP }, + { kPFix_SP, kUppercaseFirst, kPFix_EQDQUOT }, + { kPFix_SP, kUppercaseAll, kPFix_EQSQUOT }, + { kPFix_SP, kUppercaseFirst, kPFix_EQSQUOT }, +}; + +static const int kNumTransforms = sizeof(kTransforms) / sizeof(kTransforms[0]); + +static int ToUpperCase(uint8_t* p) { + if (p[0] < 0xc0) { + if (p[0] >= 'a' && p[0] <= 'z') { + p[0] ^= 32; + } + return 1; + } + /* An overly simplified uppercasing model for utf-8. */ + if (p[0] < 0xe0) { + p[1] ^= 32; + return 2; + } + /* An arbitrary transform for three byte characters. */ + p[2] ^= 5; + return 3; +} + +static BROTLI_NOINLINE int TransformDictionaryWord( + uint8_t* dst, const uint8_t* word, int len, int transform) { + int idx = 0; + { + const char* prefix = &kPrefixSuffix[kTransforms[transform].prefix_id]; + while (*prefix) { dst[idx++] = (uint8_t)*prefix++; } + } + { + const int t = kTransforms[transform].transform; + int i = 0; + int skip = t - (kOmitFirst1 - 1); + if (skip > 0) { + word += skip; + len -= skip; + } else if (t <= kOmitLast9) { + len -= t; + } + while (i < len) { dst[idx++] = word[i++]; } + if (t == kUppercaseFirst) { + ToUpperCase(&dst[idx - len]); + } else if (t == kUppercaseAll) { + uint8_t* uppercase = &dst[idx - len]; + while (len > 0) { + int step = ToUpperCase(uppercase); + uppercase += step; + len -= step; + } + } + } + { + const char* suffix = &kPrefixSuffix[kTransforms[transform].suffix_id]; + while (*suffix) { dst[idx++] = (uint8_t)*suffix++; } + return idx; + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_TRANSFORM_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf b/BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf new file mode 100644 index 0000000000000000000000000000000000000000..040f179e2bce8f5f7a2f407b2d61ab86824bbe8e GIT binary patch literal 215208 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 /* INFINITY */ +#include /* memcpy, memset */ + +#include "../common/constants.h" +#include "../common/types.h" +#include "./command.h" +#include "./fast_log.h" +#include "./find_match_length.h" +#include "./literal_cost.h" +#include "./memory.h" +#include "./port.h" +#include "./prefix.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#ifdef INFINITY +static const float kInfinity = INFINITY; +#else +static const float kInfinity = 3.4028e38f; +#endif + +void BrotliInitZopfliNodes(ZopfliNode* array, size_t length) { + ZopfliNode stub; + size_t i; + stub.length = 1; + stub.distance = 0; + stub.insert_length = 0; + stub.u.cost = kInfinity; + for (i = 0; i < length; ++i) array[i] = stub; +} + +static BROTLI_INLINE uint32_t ZopfliNodeCopyLength(const ZopfliNode* self) { + return self->length & 0xffffff; +} + +static BROTLI_INLINE uint32_t ZopfliNodeLengthCode(const ZopfliNode* self) { + const uint32_t modifier = self->length >> 24; + return ZopfliNodeCopyLength(self) + 9u - modifier; +} + +static BROTLI_INLINE uint32_t ZopfliNodeCopyDistance(const ZopfliNode* self) { + return self->distance & 0x1ffffff; +} + +static BROTLI_INLINE uint32_t ZopfliNodeDistanceCode(const ZopfliNode* self) { + const uint32_t short_code = self->distance >> 25; + return short_code == 0 ? ZopfliNodeCopyDistance(self) + 15 : short_code - 1; +} + +static BROTLI_INLINE uint32_t ZopfliNodeCommandLength(const ZopfliNode* self) { + return ZopfliNodeCopyLength(self) + self->insert_length; +} + +/* Histogram based cost model for zopflification. */ +typedef struct ZopfliCostModel { + /* The insert and copy length symbols. */ + float cost_cmd_[BROTLI_NUM_COMMAND_SYMBOLS]; + float cost_dist_[BROTLI_NUM_DISTANCE_SYMBOLS]; + /* Cumulative costs of literals per position in the stream. */ + float* literal_costs_; + float min_cost_cmd_; + size_t num_bytes_; +} ZopfliCostModel; + +static void InitZopfliCostModel( + MemoryManager* m, ZopfliCostModel* self, size_t num_bytes) { + self->num_bytes_ = num_bytes; + self->literal_costs_ = BROTLI_ALLOC(m, float, num_bytes + 2); + if (BROTLI_IS_OOM(m)) return; +} + +static void CleanupZopfliCostModel(MemoryManager* m, ZopfliCostModel* self) { + BROTLI_FREE(m, self->literal_costs_); +} + +static void SetCost(const uint32_t* histogram, size_t histogram_size, + float* cost) { + size_t sum = 0; + float log2sum; + size_t i; + for (i = 0; i < histogram_size; i++) { + sum += histogram[i]; + } + log2sum = (float)FastLog2(sum); + for (i = 0; i < histogram_size; i++) { + if (histogram[i] == 0) { + cost[i] = log2sum + 2; + continue; + } + + /* Shannon bits for this symbol. */ + cost[i] = log2sum - (float)FastLog2(histogram[i]); + + /* Cannot be coded with less than 1 bit */ + if (cost[i] < 1) cost[i] = 1; + } +} + +static void ZopfliCostModelSetFromCommands(ZopfliCostModel* self, + size_t position, + const uint8_t* ringbuffer, + size_t ringbuffer_mask, + const Command* commands, + size_t num_commands, + size_t last_insert_len) { + uint32_t histogram_literal[BROTLI_NUM_LITERAL_SYMBOLS]; + uint32_t histogram_cmd[BROTLI_NUM_COMMAND_SYMBOLS]; + uint32_t histogram_dist[BROTLI_NUM_DISTANCE_SYMBOLS]; + float cost_literal[BROTLI_NUM_LITERAL_SYMBOLS]; + size_t pos = position - last_insert_len; + float min_cost_cmd = kInfinity; + size_t i; + float* cost_cmd = self->cost_cmd_; + + memset(histogram_literal, 0, sizeof(histogram_literal)); + memset(histogram_cmd, 0, sizeof(histogram_cmd)); + memset(histogram_dist, 0, sizeof(histogram_dist)); + + for (i = 0; i < num_commands; i++) { + size_t inslength = commands[i].insert_len_; + size_t copylength = CommandCopyLen(&commands[i]); + size_t distcode = commands[i].dist_prefix_; + size_t cmdcode = commands[i].cmd_prefix_; + size_t j; + + histogram_cmd[cmdcode]++; + if (cmdcode >= 128) histogram_dist[distcode]++; + + for (j = 0; j < inslength; j++) { + histogram_literal[ringbuffer[(pos + j) & ringbuffer_mask]]++; + } + + pos += inslength + copylength; + } + + SetCost(histogram_literal, BROTLI_NUM_LITERAL_SYMBOLS, cost_literal); + SetCost(histogram_cmd, BROTLI_NUM_COMMAND_SYMBOLS, cost_cmd); + SetCost(histogram_dist, BROTLI_NUM_DISTANCE_SYMBOLS, self->cost_dist_); + + for (i = 0; i < BROTLI_NUM_COMMAND_SYMBOLS; ++i) { + min_cost_cmd = BROTLI_MIN(float, min_cost_cmd, cost_cmd[i]); + } + self->min_cost_cmd_ = min_cost_cmd; + + { + float* literal_costs = self->literal_costs_; + size_t num_bytes = self->num_bytes_; + literal_costs[0] = 0.0; + for (i = 0; i < num_bytes; ++i) { + literal_costs[i + 1] = literal_costs[i] + + cost_literal[ringbuffer[(position + i) & ringbuffer_mask]]; + } + } +} + +static void ZopfliCostModelSetFromLiteralCosts(ZopfliCostModel* self, + size_t position, + const uint8_t* ringbuffer, + size_t ringbuffer_mask) { + float* literal_costs = self->literal_costs_; + float* cost_dist = self->cost_dist_; + float* cost_cmd = self->cost_cmd_; + size_t num_bytes = self->num_bytes_; + size_t i; + BrotliEstimateBitCostsForLiterals(position, num_bytes, ringbuffer_mask, + ringbuffer, &literal_costs[1]); + literal_costs[0] = 0.0; + for (i = 0; i < num_bytes; ++i) { + literal_costs[i + 1] += literal_costs[i]; + } + for (i = 0; i < BROTLI_NUM_COMMAND_SYMBOLS; ++i) { + cost_cmd[i] = (float)FastLog2(11 + (uint32_t)i); + } + for (i = 0; i < BROTLI_NUM_DISTANCE_SYMBOLS; ++i) { + cost_dist[i] = (float)FastLog2(20 + (uint32_t)i); + } + self->min_cost_cmd_ = (float)FastLog2(11); +} + +static BROTLI_INLINE float ZopfliCostModelGetCommandCost( + const ZopfliCostModel* self, uint16_t cmdcode) { + return self->cost_cmd_[cmdcode]; +} + +static BROTLI_INLINE float ZopfliCostModelGetDistanceCost( + const ZopfliCostModel* self, size_t distcode) { + return self->cost_dist_[distcode]; +} + +static BROTLI_INLINE float ZopfliCostModelGetLiteralCosts( + const ZopfliCostModel* self, size_t from, size_t to) { + return self->literal_costs_[to] - self->literal_costs_[from]; +} + +static BROTLI_INLINE float ZopfliCostModelGetMinCostCmd( + const ZopfliCostModel* self) { + return self->min_cost_cmd_; +} + +static BROTLI_INLINE size_t ComputeDistanceCode(size_t distance, + size_t max_distance, + const int* dist_cache) { + if (distance <= max_distance) { + size_t distance_plus_3 = distance + 3; + size_t offset0 = distance_plus_3 - (size_t)dist_cache[0]; + size_t offset1 = distance_plus_3 - (size_t)dist_cache[1]; + if (distance == (size_t)dist_cache[0]) { + return 0; + } else if (distance == (size_t)dist_cache[1]) { + return 1; + } else if (offset0 < 7) { + return (0x9750468 >> (4 * offset0)) & 0xF; + } else if (offset1 < 7) { + return (0xFDB1ACE >> (4 * offset1)) & 0xF; + } else if (distance == (size_t)dist_cache[2]) { + return 2; + } else if (distance == (size_t)dist_cache[3]) { + return 3; + } + } + return distance + 15; +} + +/* REQUIRES: len >= 2, start_pos <= pos */ +/* REQUIRES: cost < kInfinity, nodes[start_pos].cost < kInfinity */ +/* Maintains the "ZopfliNode array invariant". */ +static BROTLI_INLINE void UpdateZopfliNode(ZopfliNode* nodes, size_t pos, + size_t start_pos, size_t len, size_t len_code, size_t dist, + size_t short_code, float cost) { + ZopfliNode* next = &nodes[pos + len]; + next->length = (uint32_t)(len | ((len + 9u - len_code) << 24)); + next->distance = (uint32_t)(dist | (short_code << 25)); + next->insert_length = (uint32_t)(pos - start_pos); + next->u.cost = cost; +} + +typedef struct PosData { + size_t pos; + int distance_cache[4]; + float costdiff; + float cost; +} PosData; + +/* Maintains the smallest 8 cost difference together with their positions */ +typedef struct StartPosQueue { + PosData q_[8]; + size_t idx_; +} StartPosQueue; + +static BROTLI_INLINE void InitStartPosQueue(StartPosQueue* self) { + self->idx_ = 0; +} + +static size_t StartPosQueueSize(const StartPosQueue* self) { + return BROTLI_MIN(size_t, self->idx_, 8); +} + +static void StartPosQueuePush(StartPosQueue* self, const PosData* posdata) { + size_t offset = ~(self->idx_++) & 7; + size_t len = StartPosQueueSize(self); + size_t i; + PosData* q = self->q_; + q[offset] = *posdata; + /* Restore the sorted order. In the list of |len| items at most |len - 1| + adjacent element comparisons / swaps are required. */ + for (i = 1; i < len; ++i) { + if (q[offset & 7].costdiff > q[(offset + 1) & 7].costdiff) { + BROTLI_SWAP(PosData, q, offset & 7, (offset + 1) & 7); + } + ++offset; + } +} + +static const PosData* StartPosQueueAt(const StartPosQueue* self, size_t k) { + return &self->q_[(k - self->idx_) & 7]; +} + +/* Returns the minimum possible copy length that can improve the cost of any */ +/* future position. */ +static size_t ComputeMinimumCopyLength(const float start_cost, + const ZopfliNode* nodes, + const size_t num_bytes, + const size_t pos) { + /* Compute the minimum possible cost of reaching any future position. */ + float min_cost = start_cost; + size_t len = 2; + size_t next_len_bucket = 4; + size_t next_len_offset = 10; + while (pos + len <= num_bytes && nodes[pos + len].u.cost <= min_cost) { + /* We already reached (pos + len) with no more cost than the minimum + possible cost of reaching anything from this pos, so there is no point in + looking for lengths <= len. */ + ++len; + if (len == next_len_offset) { + /* We reached the next copy length code bucket, so we add one more + extra bit to the minimum cost. */ + min_cost += 1.0f; + next_len_offset += next_len_bucket; + next_len_bucket *= 2; + } + } + return len; +} + +/* REQUIRES: nodes[pos].cost < kInfinity + REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */ +static uint32_t ComputeDistanceShortcut(const size_t block_start, + const size_t pos, + const size_t max_backward, + const ZopfliNode* nodes) { + const size_t clen = ZopfliNodeCopyLength(&nodes[pos]); + const size_t ilen = nodes[pos].insert_length; + const size_t dist = ZopfliNodeCopyDistance(&nodes[pos]); + /* Since |block_start + pos| is the end position of the command, the copy part + starts from |block_start + pos - clen|. Distances that are greater than + this or greater than |max_backward| are static dictionary references, and + do not update the last distances. Also distance code 0 (last distance) + does not update the last distances. */ + if (pos == 0) { + return 0; + } else if (dist + clen <= block_start + pos && + dist <= max_backward && + ZopfliNodeDistanceCode(&nodes[pos]) > 0) { + return (uint32_t)pos; + } else { + return nodes[pos - clen - ilen].u.shortcut; + } +} + +/* Fills in dist_cache[0..3] with the last four distances (as defined by + Section 4. of the Spec) that would be used at (block_start + pos) if we + used the shortest path of commands from block_start, computed from + nodes[0..pos]. The last four distances at block_start are in + starting_dist_cach[0..3]. + REQUIRES: nodes[pos].cost < kInfinity + REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */ +static void ComputeDistanceCache(const size_t pos, + const int* starting_dist_cache, + const ZopfliNode* nodes, + int* dist_cache) { + int idx = 0; + size_t p = nodes[pos].u.shortcut; + while (idx < 4 && p > 0) { + const size_t ilen = nodes[p].insert_length; + const size_t clen = ZopfliNodeCopyLength(&nodes[p]); + const size_t dist = ZopfliNodeCopyDistance(&nodes[p]); + dist_cache[idx++] = (int)dist; + /* Because of prerequisite, p >= clen + ilen >= 2. */ + p = nodes[p - clen - ilen].u.shortcut; + } + for (; idx < 4; ++idx) { + dist_cache[idx] = *starting_dist_cache++; + } +} + +static void UpdateNodes(const size_t num_bytes, + const size_t block_start, + const size_t pos, + const uint8_t* ringbuffer, + const size_t ringbuffer_mask, + const BrotliEncoderParams* params, + const size_t max_backward_limit, + const int* starting_dist_cache, + const size_t num_matches, + const BackwardMatch* matches, + const ZopfliCostModel* model, + StartPosQueue* queue, + ZopfliNode* nodes) { + const size_t cur_ix = block_start + pos; + const size_t cur_ix_masked = cur_ix & ringbuffer_mask; + const size_t max_distance = BROTLI_MIN(size_t, cur_ix, max_backward_limit); + const size_t max_len = num_bytes - pos; + const size_t max_zopfli_len = MaxZopfliLen(params); + const size_t max_iters = MaxZopfliCandidates(params); + size_t min_len; + size_t k; + + { + /* Save cost, because ComputeDistanceCache invalidates it. */ + float node_cost = nodes[pos].u.cost; + nodes[pos].u.shortcut = ComputeDistanceShortcut( + block_start, pos, max_backward_limit, nodes); + if (node_cost <= ZopfliCostModelGetLiteralCosts(model, 0, pos)) { + PosData posdata; + posdata.pos = pos; + posdata.cost = node_cost; + posdata.costdiff = node_cost - + ZopfliCostModelGetLiteralCosts(model, 0, pos); + ComputeDistanceCache( + pos, starting_dist_cache, nodes, posdata.distance_cache); + StartPosQueuePush(queue, &posdata); + } + } + + { + const PosData* posdata = StartPosQueueAt(queue, 0); + float min_cost = (posdata->cost + ZopfliCostModelGetMinCostCmd(model) + + ZopfliCostModelGetLiteralCosts(model, posdata->pos, pos)); + min_len = ComputeMinimumCopyLength(min_cost, nodes, num_bytes, pos); + } + + /* Go over the command starting positions in order of increasing cost + difference. */ + for (k = 0; k < max_iters && k < StartPosQueueSize(queue); ++k) { + const PosData* posdata = StartPosQueueAt(queue, k); + const size_t start = posdata->pos; + const uint16_t inscode = GetInsertLengthCode(pos - start); + const float start_costdiff = posdata->costdiff; + const float base_cost = start_costdiff + (float)GetInsertExtra(inscode) + + ZopfliCostModelGetLiteralCosts(model, 0, pos); + + /* Look for last distance matches using the distance cache from this + starting position. */ + size_t best_len = min_len - 1; + size_t j = 0; + for (; j < BROTLI_NUM_DISTANCE_SHORT_CODES && best_len < max_len; ++j) { + const size_t idx = kDistanceCacheIndex[j]; + const size_t backward = + (size_t)(posdata->distance_cache[idx] + kDistanceCacheOffset[j]); + size_t prev_ix = cur_ix - backward; + if (prev_ix >= cur_ix) { + continue; + } + if (PREDICT_FALSE(backward > max_distance)) { + continue; + } + prev_ix &= ringbuffer_mask; + + if (cur_ix_masked + best_len > ringbuffer_mask || + prev_ix + best_len > ringbuffer_mask || + ringbuffer[cur_ix_masked + best_len] != + ringbuffer[prev_ix + best_len]) { + continue; + } + { + const size_t len = + FindMatchLengthWithLimit(&ringbuffer[prev_ix], + &ringbuffer[cur_ix_masked], + max_len); + const float dist_cost = base_cost + + ZopfliCostModelGetDistanceCost(model, j); + size_t l; + for (l = best_len + 1; l <= len; ++l) { + const uint16_t copycode = GetCopyLengthCode(l); + const uint16_t cmdcode = + CombineLengthCodes(inscode, copycode, j == 0); + const float cost = (cmdcode < 128 ? base_cost : dist_cost) + + (float)GetCopyExtra(copycode) + + ZopfliCostModelGetCommandCost(model, cmdcode); + if (cost < nodes[pos + l].u.cost) { + UpdateZopfliNode(nodes, pos, start, l, l, backward, j + 1, cost); + } + best_len = l; + } + } + } + + /* At higher iterations look only for new last distance matches, since + looking only for new command start positions with the same distances + does not help much. */ + if (k >= 2) continue; + + { + /* Loop through all possible copy lengths at this position. */ + size_t len = min_len; + for (j = 0; j < num_matches; ++j) { + BackwardMatch match = matches[j]; + size_t dist = match.distance; + BROTLI_BOOL is_dictionary_match = TO_BROTLI_BOOL(dist > max_distance); + /* We already tried all possible last distance matches, so we can use + normal distance code here. */ + size_t dist_code = dist + 15; + uint16_t dist_symbol; + uint32_t distextra; + uint32_t distnumextra; + float dist_cost; + size_t max_match_len; + PrefixEncodeCopyDistance(dist_code, 0, 0, &dist_symbol, &distextra); + distnumextra = distextra >> 24; + dist_cost = base_cost + (float)distnumextra + + ZopfliCostModelGetDistanceCost(model, dist_symbol); + + /* Try all copy lengths up until the maximum copy length corresponding + to this distance. If the distance refers to the static dictionary, or + the maximum length is long enough, try only one maximum length. */ + max_match_len = BackwardMatchLength(&match); + if (len < max_match_len && + (is_dictionary_match || max_match_len > max_zopfli_len)) { + len = max_match_len; + } + for (; len <= max_match_len; ++len) { + const size_t len_code = + is_dictionary_match ? BackwardMatchLengthCode(&match) : len; + const uint16_t copycode = GetCopyLengthCode(len_code); + const uint16_t cmdcode = CombineLengthCodes(inscode, copycode, 0); + const float cost = dist_cost + (float)GetCopyExtra(copycode) + + ZopfliCostModelGetCommandCost(model, cmdcode); + if (cost < nodes[pos + len].u.cost) { + UpdateZopfliNode(nodes, pos, start, len, len_code, dist, 0, cost); + } + } + } + } + } +} + +static size_t ComputeShortestPathFromNodes(size_t num_bytes, + ZopfliNode* nodes) { + size_t index = num_bytes; + size_t num_commands = 0; + while (nodes[index].insert_length == 0 && nodes[index].length == 1) --index; + nodes[index].u.next = BROTLI_UINT32_MAX; + while (index != 0) { + size_t len = ZopfliNodeCommandLength(&nodes[index]); + index -= len; + nodes[index].u.next = (uint32_t)len; + num_commands++; + } + return num_commands; +} + +void BrotliZopfliCreateCommands(const size_t num_bytes, + const size_t block_start, + const size_t max_backward_limit, + const ZopfliNode* nodes, + int* dist_cache, + size_t* last_insert_len, + Command* commands, + size_t* num_literals) { + size_t pos = 0; + uint32_t offset = nodes[0].u.next; + size_t i; + for (i = 0; offset != BROTLI_UINT32_MAX; i++) { + const ZopfliNode* next = &nodes[pos + offset]; + size_t copy_length = ZopfliNodeCopyLength(next); + size_t insert_length = next->insert_length; + pos += insert_length; + offset = next->u.next; + if (i == 0) { + insert_length += *last_insert_len; + *last_insert_len = 0; + } + { + size_t distance = ZopfliNodeCopyDistance(next); + size_t len_code = ZopfliNodeLengthCode(next); + size_t max_distance = + BROTLI_MIN(size_t, block_start + pos, max_backward_limit); + BROTLI_BOOL is_dictionary = TO_BROTLI_BOOL(distance > max_distance); + size_t dist_code = ZopfliNodeDistanceCode(next); + + InitCommand( + &commands[i], insert_length, copy_length, len_code, dist_code); + + if (!is_dictionary && dist_code > 0) { + dist_cache[3] = dist_cache[2]; + dist_cache[2] = dist_cache[1]; + dist_cache[1] = dist_cache[0]; + dist_cache[0] = (int)distance; + } + } + + *num_literals += insert_length; + pos += copy_length; + } + *last_insert_len += num_bytes - pos; +} + +static size_t ZopfliIterate(size_t num_bytes, + size_t position, + const uint8_t* ringbuffer, + size_t ringbuffer_mask, + const BrotliEncoderParams* params, + const size_t max_backward_limit, + const int* dist_cache, + const ZopfliCostModel* model, + const uint32_t* num_matches, + const BackwardMatch* matches, + ZopfliNode* nodes) { + const size_t max_zopfli_len = MaxZopfliLen(params); + StartPosQueue queue; + size_t cur_match_pos = 0; + size_t i; + nodes[0].length = 0; + nodes[0].u.cost = 0; + InitStartPosQueue(&queue); + for (i = 0; i + 3 < num_bytes; i++) { + UpdateNodes(num_bytes, position, i, ringbuffer, ringbuffer_mask, + params, max_backward_limit, dist_cache, num_matches[i], + &matches[cur_match_pos], model, &queue, nodes); + cur_match_pos += num_matches[i]; + /* The zopflification can be too slow in case of very long lengths, so in + such case skip it all, it does not cost a lot of compression ratio. */ + if (num_matches[i] == 1 && + BackwardMatchLength(&matches[cur_match_pos - 1]) > max_zopfli_len) { + i += BackwardMatchLength(&matches[cur_match_pos - 1]) - 1; + InitStartPosQueue(&queue); + } + } + return ComputeShortestPathFromNodes(num_bytes, nodes); +} + + +size_t BrotliZopfliComputeShortestPath(MemoryManager* m, + size_t num_bytes, + size_t position, + const uint8_t* ringbuffer, + size_t ringbuffer_mask, + const BrotliEncoderParams* params, + const size_t max_backward_limit, + const int* dist_cache, + H10* hasher, + ZopfliNode* nodes) { + const size_t max_zopfli_len = MaxZopfliLen(params); + ZopfliCostModel model; + StartPosQueue queue; + BackwardMatch matches[MAX_NUM_MATCHES_H10]; + const size_t store_end = num_bytes >= StoreLookaheadH10() ? + position + num_bytes - StoreLookaheadH10() + 1 : position; + size_t i; + nodes[0].length = 0; + nodes[0].u.cost = 0; + InitZopfliCostModel(m, &model, num_bytes); + if (BROTLI_IS_OOM(m)) return 0; + ZopfliCostModelSetFromLiteralCosts( + &model, position, ringbuffer, ringbuffer_mask); + InitStartPosQueue(&queue); + for (i = 0; i + HashTypeLengthH10() - 1 < num_bytes; i++) { + const size_t pos = position + i; + const size_t max_distance = BROTLI_MIN(size_t, pos, max_backward_limit); + size_t num_matches = FindAllMatchesH10(hasher, ringbuffer, ringbuffer_mask, + pos, num_bytes - i, max_distance, params, matches); + if (num_matches > 0 && + BackwardMatchLength(&matches[num_matches - 1]) > max_zopfli_len) { + matches[0] = matches[num_matches - 1]; + num_matches = 1; + } + UpdateNodes(num_bytes, position, i, ringbuffer, ringbuffer_mask, + params, max_backward_limit, dist_cache, num_matches, matches, + &model, &queue, nodes); + if (num_matches == 1 && BackwardMatchLength(&matches[0]) > max_zopfli_len) { + /* Add the tail of the copy to the hasher. */ + StoreRangeH10(hasher, ringbuffer, ringbuffer_mask, pos + 1, BROTLI_MIN( + size_t, pos + BackwardMatchLength(&matches[0]), store_end)); + i += BackwardMatchLength(&matches[0]) - 1; + InitStartPosQueue(&queue); + } + } + CleanupZopfliCostModel(m, &model); + return ComputeShortestPathFromNodes(num_bytes, nodes); +} + +#define EXPAND_CAT(a, b) CAT(a, b) +#define CAT(a, b) a ## b +#define FN(X) EXPAND_CAT(X, HASHER()) + +#define HASHER() H2 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H3 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H4 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H5 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H6 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H7 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H8 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H9 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H40 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H41 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#define HASHER() H42 +/* NOLINTNEXTLINE(build/include) */ +#include "./backward_references_inc.h" +#undef HASHER + +#undef FN +#undef CAT +#undef EXPAND_CAT + +static BROTLI_NOINLINE void CreateZopfliBackwardReferences( + MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last, + const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, H10* hasher, int* dist_cache, + size_t* last_insert_len, Command* commands, size_t* num_commands, + size_t* num_literals) { + const size_t max_backward_limit = MaxBackwardLimit(params->lgwin); + ZopfliNode* nodes; + InitH10(m, hasher, ringbuffer, params, position, num_bytes, is_last); + if (BROTLI_IS_OOM(m)) return; + StitchToPreviousBlockH10(hasher, num_bytes, position, + ringbuffer, ringbuffer_mask); + nodes = BROTLI_ALLOC(m, ZopfliNode, num_bytes + 1); + if (BROTLI_IS_OOM(m)) return; + BrotliInitZopfliNodes(nodes, num_bytes + 1); + *num_commands += BrotliZopfliComputeShortestPath(m, num_bytes, position, + ringbuffer, ringbuffer_mask, params, max_backward_limit, + dist_cache, hasher, nodes); + if (BROTLI_IS_OOM(m)) return; + BrotliZopfliCreateCommands(num_bytes, position, max_backward_limit, nodes, + dist_cache, last_insert_len, commands, num_literals); + BROTLI_FREE(m, nodes); +} + +static BROTLI_NOINLINE void CreateHqZopfliBackwardReferences( + MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last, + const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, H10* hasher, int* dist_cache, + size_t* last_insert_len, Command* commands, size_t* num_commands, + size_t* num_literals) { + const size_t max_backward_limit = MaxBackwardLimit(params->lgwin); + uint32_t* num_matches = BROTLI_ALLOC(m, uint32_t, num_bytes); + size_t matches_size = 4 * num_bytes; + const size_t store_end = num_bytes >= StoreLookaheadH10() ? + position + num_bytes - StoreLookaheadH10() + 1 : position; + size_t cur_match_pos = 0; + size_t i; + size_t orig_num_literals; + size_t orig_last_insert_len; + int orig_dist_cache[4]; + size_t orig_num_commands; + ZopfliCostModel model; + ZopfliNode* nodes; + BackwardMatch* matches = BROTLI_ALLOC(m, BackwardMatch, matches_size); + if (BROTLI_IS_OOM(m)) return; + InitH10(m, hasher, ringbuffer, params, position, num_bytes, is_last); + if (BROTLI_IS_OOM(m)) return; + StitchToPreviousBlockH10(hasher, num_bytes, position, + ringbuffer, ringbuffer_mask); + for (i = 0; i + HashTypeLengthH10() - 1 < num_bytes; ++i) { + const size_t pos = position + i; + size_t max_distance = BROTLI_MIN(size_t, pos, max_backward_limit); + size_t max_length = num_bytes - i; + size_t num_found_matches; + size_t cur_match_end; + size_t j; + /* Ensure that we have enough free slots. */ + BROTLI_ENSURE_CAPACITY(m, BackwardMatch, matches, matches_size, + cur_match_pos + MAX_NUM_MATCHES_H10); + if (BROTLI_IS_OOM(m)) return; + num_found_matches = FindAllMatchesH10(hasher, ringbuffer, ringbuffer_mask, + pos, max_length, max_distance, params, &matches[cur_match_pos]); + cur_match_end = cur_match_pos + num_found_matches; + for (j = cur_match_pos; j + 1 < cur_match_end; ++j) { + assert(BackwardMatchLength(&matches[j]) < + BackwardMatchLength(&matches[j + 1])); + assert(matches[j].distance > max_distance || + matches[j].distance <= matches[j + 1].distance); + } + num_matches[i] = (uint32_t)num_found_matches; + if (num_found_matches > 0) { + const size_t match_len = BackwardMatchLength(&matches[cur_match_end - 1]); + if (match_len > MAX_ZOPFLI_LEN_QUALITY_11) { + const size_t skip = match_len - 1; + matches[cur_match_pos++] = matches[cur_match_end - 1]; + num_matches[i] = 1; + /* Add the tail of the copy to the hasher. */ + StoreRangeH10(hasher, ringbuffer, ringbuffer_mask, pos + 1, + BROTLI_MIN(size_t, pos + match_len, store_end)); + memset(&num_matches[i + 1], 0, skip * sizeof(num_matches[0])); + i += skip; + } else { + cur_match_pos = cur_match_end; + } + } + } + orig_num_literals = *num_literals; + orig_last_insert_len = *last_insert_len; + memcpy(orig_dist_cache, dist_cache, 4 * sizeof(dist_cache[0])); + orig_num_commands = *num_commands; + nodes = BROTLI_ALLOC(m, ZopfliNode, num_bytes + 1); + if (BROTLI_IS_OOM(m)) return; + InitZopfliCostModel(m, &model, num_bytes); + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < 2; i++) { + BrotliInitZopfliNodes(nodes, num_bytes + 1); + if (i == 0) { + ZopfliCostModelSetFromLiteralCosts( + &model, position, ringbuffer, ringbuffer_mask); + } else { + ZopfliCostModelSetFromCommands(&model, position, ringbuffer, + ringbuffer_mask, commands, *num_commands - orig_num_commands, + orig_last_insert_len); + } + *num_commands = orig_num_commands; + *num_literals = orig_num_literals; + *last_insert_len = orig_last_insert_len; + memcpy(dist_cache, orig_dist_cache, 4 * sizeof(dist_cache[0])); + *num_commands += ZopfliIterate(num_bytes, position, ringbuffer, + ringbuffer_mask, params, max_backward_limit, dist_cache, + &model, num_matches, matches, nodes); + BrotliZopfliCreateCommands(num_bytes, position, max_backward_limit, + nodes, dist_cache, last_insert_len, commands, num_literals); + } + CleanupZopfliCostModel(m, &model); + BROTLI_FREE(m, nodes); + BROTLI_FREE(m, matches); + BROTLI_FREE(m, num_matches); +} + +void BrotliCreateBackwardReferences(MemoryManager* m, + size_t num_bytes, + size_t position, + BROTLI_BOOL is_last, + const uint8_t* ringbuffer, + size_t ringbuffer_mask, + const BrotliEncoderParams* params, + Hashers* hashers, + int* dist_cache, + size_t* last_insert_len, + Command* commands, + size_t* num_commands, + size_t* num_literals) { + if (params->quality == ZOPFLIFICATION_QUALITY) { + CreateZopfliBackwardReferences( + m, num_bytes, position, is_last, ringbuffer, ringbuffer_mask, + params, hashers->h10, dist_cache, + last_insert_len, commands, num_commands, num_literals); + return; + } else if (params->quality == HQ_ZOPFLIFICATION_QUALITY) { + CreateHqZopfliBackwardReferences( + m, num_bytes, position, is_last, ringbuffer, ringbuffer_mask, + params, hashers->h10, dist_cache, + last_insert_len, commands, num_commands, num_literals); + return; + } + + switch (ChooseHasher(params)) { +#define _CASE(N) \ + case N: \ + CreateBackwardReferencesH ## N(m, num_bytes, position, is_last, \ + ringbuffer, ringbuffer_mask, params, hashers->h ## N, dist_cache, \ + last_insert_len, commands, num_commands, num_literals); \ + break; + FOR_GENERIC_HASHERS(_CASE) +#undef _CASE + default: + break; + } + if (BROTLI_IS_OOM(m)) return; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/backward_references.h b/BaseTools/Source/C/BrotliCompress/enc/backward_references.h new file mode 100644 index 000000000000..8c73b691bacf --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/backward_references.h @@ -0,0 +1,99 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Function to find backward reference copies. */ + +#ifndef BROTLI_ENC_BACKWARD_REFERENCES_H_ +#define BROTLI_ENC_BACKWARD_REFERENCES_H_ + +#include "../common/types.h" +#include "./command.h" +#include "./hash.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* "commands" points to the next output command to write to, "*num_commands" is + initially the total amount of commands output by previous + CreateBackwardReferences calls, and must be incremented by the amount written + by this call. */ +BROTLI_INTERNAL void BrotliCreateBackwardReferences( + MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last, + const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, Hashers* hashers, int* dist_cache, + size_t* last_insert_len, Command* commands, size_t* num_commands, + size_t* num_literals); + +typedef struct ZopfliNode { + /* best length to get up to this byte (not including this byte itself) + highest 8 bit is used to reconstruct the length code */ + uint32_t length; + /* distance associated with the length + highest 7 bit contains distance short code + 1 (or zero if no short code) + */ + uint32_t distance; + /* number of literal inserts before this copy */ + uint32_t insert_length; + + /* This union holds information used by dynamic-programming. During forward + pass |cost| it used to store the goal function. When node is processed its + |cost| is invalidated in favor of |shortcut|. On path backtracing pass + |next| is assigned the offset to next node on the path. */ + union { + /* Smallest cost to get to this byte from the beginning, as found so far. */ + float cost; + /* Offset to the next node on the path. Equals to command_length() of the + next node on the path. For last node equals to BROTLI_UINT32_MAX */ + uint32_t next; + /* Node position that provides next distance for distance cache. */ + uint32_t shortcut; + } u; +} ZopfliNode; + +BROTLI_INTERNAL void BrotliInitZopfliNodes(ZopfliNode* array, size_t length); + +/* Computes the shortest path of commands from position to at most + position + num_bytes. + + On return, path->size() is the number of commands found and path[i] is the + length of the ith command (copy length plus insert length). + Note that the sum of the lengths of all commands can be less than num_bytes. + + On return, the nodes[0..num_bytes] array will have the following + "ZopfliNode array invariant": + For each i in [1..num_bytes], if nodes[i].cost < kInfinity, then + (1) nodes[i].copy_length() >= 2 + (2) nodes[i].command_length() <= i and + (3) nodes[i - nodes[i].command_length()].cost < kInfinity */ +BROTLI_INTERNAL size_t BrotliZopfliComputeShortestPath( + MemoryManager* m, size_t num_bytes, size_t position, + const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, const size_t max_backward_limit, + const int* dist_cache, H10* hasher, ZopfliNode* nodes); + +BROTLI_INTERNAL void BrotliZopfliCreateCommands(const size_t num_bytes, + const size_t block_start, + const size_t max_backward_limit, + const ZopfliNode* nodes, + int* dist_cache, + size_t* last_insert_len, + Command* commands, + size_t* num_literals); + +/* Maximum distance, see section 9.1. of the spec. */ +static BROTLI_INLINE size_t MaxBackwardLimit(int lgwin) { + return (1u << lgwin) - 16; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_BACKWARD_REFERENCES_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h b/BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h new file mode 100644 index 000000000000..8ff2a3625148 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h @@ -0,0 +1,147 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN */ + +#define Hasher HASHER() + +static BROTLI_NOINLINE void FN(CreateBackwardReferences)( + MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last, + const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, Hasher* hasher, int* dist_cache, + size_t* last_insert_len, Command* commands, size_t* num_commands, + size_t* num_literals) { + /* Set maximum distance, see section 9.1. of the spec. */ + const size_t max_backward_limit = MaxBackwardLimit(params->lgwin); + + const Command* const orig_commands = commands; + size_t insert_length = *last_insert_len; + const size_t pos_end = position + num_bytes; + const size_t store_end = num_bytes >= FN(StoreLookahead)() ? + position + num_bytes - FN(StoreLookahead)() + 1 : position; + + /* For speed up heuristics for random data. */ + const size_t random_heuristics_window_size = + LiteralSpreeLengthForSparseSearch(params); + size_t apply_random_heuristics = position + random_heuristics_window_size; + + /* Minimum score to accept a backward reference. */ + const score_t kMinScore = BROTLI_SCORE_BASE + 400; + + FN(Init)(m, hasher, ringbuffer, params, position, num_bytes, is_last); + if (BROTLI_IS_OOM(m)) return; + FN(StitchToPreviousBlock)(hasher, num_bytes, position, + ringbuffer, ringbuffer_mask); + + while (position + FN(HashTypeLength)() < pos_end) { + size_t max_length = pos_end - position; + size_t max_distance = BROTLI_MIN(size_t, position, max_backward_limit); + HasherSearchResult sr; + sr.len = 0; + sr.len_x_code = 0; + sr.distance = 0; + sr.score = kMinScore; + if (FN(FindLongestMatch)(hasher, ringbuffer, ringbuffer_mask, dist_cache, + position, max_length, max_distance, &sr)) { + /* Found a match. Let's look for something even better ahead. */ + int delayed_backward_references_in_row = 0; + --max_length; + for (;; --max_length) { + const score_t cost_diff_lazy = 700; + BROTLI_BOOL is_match_found; + HasherSearchResult sr2; + sr2.len = params->quality < MIN_QUALITY_FOR_EXTENSIVE_REFERENCE_SEARCH ? + BROTLI_MIN(size_t, sr.len - 1, max_length) : 0; + sr2.len_x_code = 0; + sr2.distance = 0; + sr2.score = kMinScore; + max_distance = BROTLI_MIN(size_t, position + 1, max_backward_limit); + is_match_found = FN(FindLongestMatch)(hasher, ringbuffer, + ringbuffer_mask, dist_cache, position + 1, max_length, max_distance, + &sr2); + if (is_match_found && sr2.score >= sr.score + cost_diff_lazy) { + /* Ok, let's just write one byte for now and start a match from the + next byte. */ + ++position; + ++insert_length; + sr = sr2; + if (++delayed_backward_references_in_row < 4 && + position + FN(HashTypeLength)() < pos_end) { + continue; + } + } + break; + } + apply_random_heuristics = + position + 2 * sr.len + random_heuristics_window_size; + max_distance = BROTLI_MIN(size_t, position, max_backward_limit); + { + /* The first 16 codes are special shortcodes, + and the minimum offset is 1. */ + size_t distance_code = + ComputeDistanceCode(sr.distance, max_distance, dist_cache); + if (sr.distance <= max_distance && distance_code > 0) { + dist_cache[3] = dist_cache[2]; + dist_cache[2] = dist_cache[1]; + dist_cache[1] = dist_cache[0]; + dist_cache[0] = (int)sr.distance; + } + InitCommand(commands++, insert_length, sr.len, sr.len ^ sr.len_x_code, + distance_code); + } + *num_literals += insert_length; + insert_length = 0; + /* Put the hash keys into the table, if there are enough bytes left. + Depending on the hasher implementation, it can push all positions + in the given range or only a subset of them. */ + FN(StoreRange)(hasher, ringbuffer, ringbuffer_mask, position + 2, + BROTLI_MIN(size_t, position + sr.len, store_end)); + position += sr.len; + } else { + ++insert_length; + ++position; + /* If we have not seen matches for a long time, we can skip some + match lookups. Unsuccessful match lookups are very very expensive + and this kind of a heuristic speeds up compression quite + a lot. */ + if (position > apply_random_heuristics) { + /* Going through uncompressible data, jump. */ + if (position > + apply_random_heuristics + 4 * random_heuristics_window_size) { + /* It is quite a long time since we saw a copy, so we assume + that this data is not compressible, and store hashes less + often. Hashes of non compressible data are less likely to + turn out to be useful in the future, too, so we store less of + them to not to flood out the hash table of good compressible + data. */ + const size_t kMargin = + BROTLI_MAX(size_t, FN(StoreLookahead)() - 1, 4); + size_t pos_jump = + BROTLI_MIN(size_t, position + 16, pos_end - kMargin); + for (; position < pos_jump; position += 4) { + FN(Store)(hasher, ringbuffer, ringbuffer_mask, position); + insert_length += 4; + } + } else { + const size_t kMargin = + BROTLI_MAX(size_t, FN(StoreLookahead)() - 1, 2); + size_t pos_jump = + BROTLI_MIN(size_t, position + 8, pos_end - kMargin); + for (; position < pos_jump; position += 2) { + FN(Store)(hasher, ringbuffer, ringbuffer_mask, position); + insert_length += 2; + } + } + } + } + } + insert_length += pos_end - position; + *last_insert_len = insert_length; + *num_commands += (size_t)(commands - orig_commands); +} + +#undef Hasher diff --git a/BaseTools/Source/C/BrotliCompress/enc/bit_cost.c b/BaseTools/Source/C/BrotliCompress/enc/bit_cost.c new file mode 100644 index 000000000000..614246cc9e14 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/bit_cost.c @@ -0,0 +1,35 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions to estimate the bit cost of Huffman trees. */ + +#include "./bit_cost.h" + +#include "../common/constants.h" +#include "../common/types.h" +#include "./fast_log.h" +#include "./histogram.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define FN(X) X ## Literal +#include "./bit_cost_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Command +#include "./bit_cost_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Distance +#include "./bit_cost_inc.h" /* NOLINT(build/include) */ +#undef FN + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/bit_cost.h b/BaseTools/Source/C/BrotliCompress/enc/bit_cost.h new file mode 100644 index 000000000000..2bf90b23cadc --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/bit_cost.h @@ -0,0 +1,63 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions to estimate the bit cost of Huffman trees. */ + +#ifndef BROTLI_ENC_BIT_COST_H_ +#define BROTLI_ENC_BIT_COST_H_ + +#include "../common/types.h" +#include "./fast_log.h" +#include "./histogram.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static BROTLI_INLINE double ShannonEntropy(const uint32_t *population, + size_t size, size_t *total) { + size_t sum = 0; + double retval = 0; + const uint32_t *population_end = population + size; + size_t p; + if (size & 1) { + goto odd_number_of_elements_left; + } + while (population < population_end) { + p = *population++; + sum += p; + retval -= (double)p * FastLog2(p); + odd_number_of_elements_left: + p = *population++; + sum += p; + retval -= (double)p * FastLog2(p); + } + if (sum) retval += (double)sum * FastLog2(sum); + *total = sum; + return retval; +} + +static BROTLI_INLINE double BitsEntropy( + const uint32_t *population, size_t size) { + size_t sum; + double retval = ShannonEntropy(population, size, &sum); + if (retval < sum) { + /* At least one bit per literal is needed. */ + retval = (double)sum; + } + return retval; +} + +BROTLI_INTERNAL double BrotliPopulationCostLiteral(const HistogramLiteral*); +BROTLI_INTERNAL double BrotliPopulationCostCommand(const HistogramCommand*); +BROTLI_INTERNAL double BrotliPopulationCostDistance(const HistogramDistance*); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_BIT_COST_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h b/BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h new file mode 100644 index 000000000000..c96bddac0962 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h @@ -0,0 +1,127 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN */ + +#define HistogramType FN(Histogram) + +double FN(BrotliPopulationCost)(const HistogramType* histogram) { + static const double kOneSymbolHistogramCost = 12; + static const double kTwoSymbolHistogramCost = 20; + static const double kThreeSymbolHistogramCost = 28; + static const double kFourSymbolHistogramCost = 37; + const size_t data_size = FN(HistogramDataSize)(); + int count = 0; + size_t s[5]; + double bits = 0.0; + size_t i; + if (histogram->total_count_ == 0) { + return kOneSymbolHistogramCost; + } + for (i = 0; i < data_size; ++i) { + if (histogram->data_[i] > 0) { + s[count] = i; + ++count; + if (count > 4) break; + } + } + if (count == 1) { + return kOneSymbolHistogramCost; + } + if (count == 2) { + return (kTwoSymbolHistogramCost + (double)histogram->total_count_); + } + if (count == 3) { + const uint32_t histo0 = histogram->data_[s[0]]; + const uint32_t histo1 = histogram->data_[s[1]]; + const uint32_t histo2 = histogram->data_[s[2]]; + const uint32_t histomax = + BROTLI_MAX(uint32_t, histo0, BROTLI_MAX(uint32_t, histo1, histo2)); + return (kThreeSymbolHistogramCost + + 2 * (histo0 + histo1 + histo2) - histomax); + } + if (count == 4) { + uint32_t histo[4]; + uint32_t h23; + uint32_t histomax; + for (i = 0; i < 4; ++i) { + histo[i] = histogram->data_[s[i]]; + } + /* Sort */ + for (i = 0; i < 4; ++i) { + size_t j; + for (j = i + 1; j < 4; ++j) { + if (histo[j] > histo[i]) { + BROTLI_SWAP(uint32_t, histo, j, i); + } + } + } + h23 = histo[2] + histo[3]; + histomax = BROTLI_MAX(uint32_t, h23, histo[0]); + return (kFourSymbolHistogramCost + + 3 * h23 + 2 * (histo[0] + histo[1]) - histomax); + } + + { + /* In this loop we compute the entropy of the histogram and simultaneously + build a simplified histogram of the code length codes where we use the + zero repeat code 17, but we don't use the non-zero repeat code 16. */ + size_t max_depth = 1; + uint32_t depth_histo[BROTLI_CODE_LENGTH_CODES] = { 0 }; + const double log2total = FastLog2(histogram->total_count_); + for (i = 0; i < data_size;) { + if (histogram->data_[i] > 0) { + /* Compute -log2(P(symbol)) = -log2(count(symbol)/total_count) = + = log2(total_count) - log2(count(symbol)) */ + double log2p = log2total - FastLog2(histogram->data_[i]); + /* Approximate the bit depth by round(-log2(P(symbol))) */ + size_t depth = (size_t)(log2p + 0.5); + bits += histogram->data_[i] * log2p; + if (depth > 15) { + depth = 15; + } + if (depth > max_depth) { + max_depth = depth; + } + ++depth_histo[depth]; + ++i; + } else { + /* Compute the run length of zeros and add the appropriate number of 0 + and 17 code length codes to the code length code histogram. */ + uint32_t reps = 1; + size_t k; + for (k = i + 1; k < data_size && histogram->data_[k] == 0; ++k) { + ++reps; + } + i += reps; + if (i == data_size) { + /* Don't add any cost for the last zero run, since these are encoded + only implicitly. */ + break; + } + if (reps < 3) { + depth_histo[0] += reps; + } else { + reps -= 2; + while (reps > 0) { + ++depth_histo[BROTLI_REPEAT_ZERO_CODE_LENGTH]; + /* Add the 3 extra bits for the 17 code length code. */ + bits += 3; + reps >>= 3; + } + } + } + } + /* Add the estimated encoding cost of the code length code histogram. */ + bits += (double)(18 + 2 * max_depth); + /* Add the entropy of the code length code histogram. */ + bits += BitsEntropy(depth_histo, BROTLI_CODE_LENGTH_CODES); + } + return bits; +} + +#undef HistogramType diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h b/BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h new file mode 100644 index 000000000000..50400626d1c0 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h @@ -0,0 +1,33 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2014 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN */ + +#define HistogramType FN(Histogram) + +/* Creates entropy codes for all block types and stores them to the bit + stream. */ +static void FN(BuildAndStoreEntropyCodes)(MemoryManager* m, BlockEncoder* self, + const HistogramType* histograms, const size_t histograms_size, + HuffmanTree* tree, size_t* storage_ix, uint8_t* storage) { + const size_t alphabet_size = self->alphabet_size_; + const size_t table_size = histograms_size * alphabet_size; + self->depths_ = BROTLI_ALLOC(m, uint8_t, table_size); + self->bits_ = BROTLI_ALLOC(m, uint16_t, table_size); + if (BROTLI_IS_OOM(m)) return; + + { + size_t i; + for (i = 0; i < histograms_size; ++i) { + size_t ix = i * alphabet_size; + BuildAndStoreHuffmanTree(&histograms[i].data_[0], alphabet_size, tree, + &self->depths_[ix], &self->bits_[ix], storage_ix, storage); + } + } +} + +#undef HistogramType diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_splitter.c b/BaseTools/Source/C/BrotliCompress/enc/block_splitter.c new file mode 100644 index 000000000000..ee31608df407 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/block_splitter.c @@ -0,0 +1,197 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Block split point selection utilities. */ + +#include "./block_splitter.h" + +#include +#include /* memcpy, memset */ + +#include "./bit_cost.h" +#include "./cluster.h" +#include "./command.h" +#include "./fast_log.h" +#include "./histogram.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const size_t kMaxLiteralHistograms = 100; +static const size_t kMaxCommandHistograms = 50; +static const double kLiteralBlockSwitchCost = 28.1; +static const double kCommandBlockSwitchCost = 13.5; +static const double kDistanceBlockSwitchCost = 14.6; +static const size_t kLiteralStrideLength = 70; +static const size_t kCommandStrideLength = 40; +static const size_t kSymbolsPerLiteralHistogram = 544; +static const size_t kSymbolsPerCommandHistogram = 530; +static const size_t kSymbolsPerDistanceHistogram = 544; +static const size_t kMinLengthForBlockSplitting = 128; +static const size_t kIterMulForRefining = 2; +static const size_t kMinItersForRefining = 100; + +static size_t CountLiterals(const Command* cmds, const size_t num_commands) { + /* Count how many we have. */ + size_t total_length = 0; + size_t i; + for (i = 0; i < num_commands; ++i) { + total_length += cmds[i].insert_len_; + } + return total_length; +} + +static void CopyLiteralsToByteArray(const Command* cmds, + const size_t num_commands, + const uint8_t* data, + const size_t offset, + const size_t mask, + uint8_t* literals) { + size_t pos = 0; + size_t from_pos = offset & mask; + size_t i; + for (i = 0; i < num_commands; ++i) { + size_t insert_len = cmds[i].insert_len_; + if (from_pos + insert_len > mask) { + size_t head_size = mask + 1 - from_pos; + memcpy(literals + pos, data + from_pos, head_size); + from_pos = 0; + pos += head_size; + insert_len -= head_size; + } + if (insert_len > 0) { + memcpy(literals + pos, data + from_pos, insert_len); + pos += insert_len; + } + from_pos = (from_pos + insert_len + CommandCopyLen(&cmds[i])) & mask; + } +} + +static BROTLI_INLINE unsigned int MyRand(unsigned int* seed) { + *seed *= 16807U; + if (*seed == 0) { + *seed = 1; + } + return *seed; +} + +static BROTLI_INLINE double BitCost(size_t count) { + return count == 0 ? -2.0 : FastLog2(count); +} + +#define HISTOGRAMS_PER_BATCH 64 +#define CLUSTERS_PER_BATCH 16 + +#define FN(X) X ## Literal +#define DataType uint8_t +/* NOLINTNEXTLINE(build/include) */ +#include "./block_splitter_inc.h" +#undef DataType +#undef FN + +#define FN(X) X ## Command +#define DataType uint16_t +/* NOLINTNEXTLINE(build/include) */ +#include "./block_splitter_inc.h" +#undef FN + +#define FN(X) X ## Distance +/* NOLINTNEXTLINE(build/include) */ +#include "./block_splitter_inc.h" +#undef DataType +#undef FN + +void BrotliInitBlockSplit(BlockSplit* self) { + self->num_types = 0; + self->num_blocks = 0; + self->types = 0; + self->lengths = 0; + self->types_alloc_size = 0; + self->lengths_alloc_size = 0; +} + +void BrotliDestroyBlockSplit(MemoryManager* m, BlockSplit* self) { + BROTLI_FREE(m, self->types); + BROTLI_FREE(m, self->lengths); +} + +void BrotliSplitBlock(MemoryManager* m, + const Command* cmds, + const size_t num_commands, + const uint8_t* data, + const size_t pos, + const size_t mask, + const BrotliEncoderParams* params, + BlockSplit* literal_split, + BlockSplit* insert_and_copy_split, + BlockSplit* dist_split) { + { + size_t literals_count = CountLiterals(cmds, num_commands); + uint8_t* literals = BROTLI_ALLOC(m, uint8_t, literals_count); + if (BROTLI_IS_OOM(m)) return; + /* Create a continuous array of literals. */ + CopyLiteralsToByteArray(cmds, num_commands, data, pos, mask, literals); + /* Create the block split on the array of literals. + Literal histograms have alphabet size 256. */ + SplitByteVectorLiteral( + m, literals, literals_count, + kSymbolsPerLiteralHistogram, kMaxLiteralHistograms, + kLiteralStrideLength, kLiteralBlockSwitchCost, params, + literal_split); + if (BROTLI_IS_OOM(m)) return; + BROTLI_FREE(m, literals); + } + + { + /* Compute prefix codes for commands. */ + uint16_t* insert_and_copy_codes = BROTLI_ALLOC(m, uint16_t, num_commands); + size_t i; + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < num_commands; ++i) { + insert_and_copy_codes[i] = cmds[i].cmd_prefix_; + } + /* Create the block split on the array of command prefixes. */ + SplitByteVectorCommand( + m, insert_and_copy_codes, num_commands, + kSymbolsPerCommandHistogram, kMaxCommandHistograms, + kCommandStrideLength, kCommandBlockSwitchCost, params, + insert_and_copy_split); + if (BROTLI_IS_OOM(m)) return; + /* TODO: reuse for distances? */ + BROTLI_FREE(m, insert_and_copy_codes); + } + + { + /* Create a continuous array of distance prefixes. */ + uint16_t* distance_prefixes = BROTLI_ALLOC(m, uint16_t, num_commands); + size_t j = 0; + size_t i; + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < num_commands; ++i) { + const Command* cmd = &cmds[i]; + if (CommandCopyLen(cmd) && cmd->cmd_prefix_ >= 128) { + distance_prefixes[j++] = cmd->dist_prefix_; + } + } + /* Create the block split on the array of distance prefixes. */ + SplitByteVectorDistance( + m, distance_prefixes, j, + kSymbolsPerDistanceHistogram, kMaxCommandHistograms, + kCommandStrideLength, kDistanceBlockSwitchCost, params, + dist_split); + if (BROTLI_IS_OOM(m)) return; + BROTLI_FREE(m, distance_prefixes); + } +} + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_splitter.h b/BaseTools/Source/C/BrotliCompress/enc/block_splitter.h new file mode 100644 index 000000000000..ebe46c05b696 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/block_splitter.h @@ -0,0 +1,51 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Block split point selection utilities. */ + +#ifndef BROTLI_ENC_BLOCK_SPLITTER_H_ +#define BROTLI_ENC_BLOCK_SPLITTER_H_ + +#include "../common/types.h" +#include "./command.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef struct BlockSplit { + size_t num_types; /* Amount of distinct types */ + size_t num_blocks; /* Amount of values in types and length */ + uint8_t* types; + uint32_t* lengths; + + size_t types_alloc_size; + size_t lengths_alloc_size; +} BlockSplit; + +BROTLI_INTERNAL void BrotliInitBlockSplit(BlockSplit* self); +BROTLI_INTERNAL void BrotliDestroyBlockSplit(MemoryManager* m, + BlockSplit* self); + +BROTLI_INTERNAL void BrotliSplitBlock(MemoryManager* m, + const Command* cmds, + const size_t num_commands, + const uint8_t* data, + const size_t offset, + const size_t mask, + const BrotliEncoderParams* params, + BlockSplit* literal_split, + BlockSplit* insert_and_copy_split, + BlockSplit* dist_split); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_BLOCK_SPLITTER_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h b/BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h new file mode 100644 index 000000000000..ffb5fc216aea --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h @@ -0,0 +1,432 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN, DataType */ + +#define HistogramType FN(Histogram) + +static void FN(InitialEntropyCodes)(const DataType* data, size_t length, + size_t stride, + size_t num_histograms, + HistogramType* histograms) { + unsigned int seed = 7; + size_t block_length = length / num_histograms; + size_t i; + FN(ClearHistograms)(histograms, num_histograms); + for (i = 0; i < num_histograms; ++i) { + size_t pos = length * i / num_histograms; + if (i != 0) { + pos += MyRand(&seed) % block_length; + } + if (pos + stride >= length) { + pos = length - stride - 1; + } + FN(HistogramAddVector)(&histograms[i], data + pos, stride); + } +} + +static void FN(RandomSample)(unsigned int* seed, + const DataType* data, + size_t length, + size_t stride, + HistogramType* sample) { + size_t pos = 0; + if (stride >= length) { + pos = 0; + stride = length; + } else { + pos = MyRand(seed) % (length - stride + 1); + } + FN(HistogramAddVector)(sample, data + pos, stride); +} + +static void FN(RefineEntropyCodes)(const DataType* data, size_t length, + size_t stride, + size_t num_histograms, + HistogramType* histograms) { + size_t iters = + kIterMulForRefining * length / stride + kMinItersForRefining; + unsigned int seed = 7; + size_t iter; + iters = ((iters + num_histograms - 1) / num_histograms) * num_histograms; + for (iter = 0; iter < iters; ++iter) { + HistogramType sample; + FN(HistogramClear)(&sample); + FN(RandomSample)(&seed, data, length, stride, &sample); + FN(HistogramAddHistogram)(&histograms[iter % num_histograms], &sample); + } +} + +/* Assigns a block id from the range [0, vec.size()) to each data element + in data[0..length) and fills in block_id[0..length) with the assigned values. + Returns the number of blocks, i.e. one plus the number of block switches. */ +static size_t FN(FindBlocks)(const DataType* data, const size_t length, + const double block_switch_bitcost, + const size_t num_histograms, + const HistogramType* histograms, + double* insert_cost, + double* cost, + uint8_t* switch_signal, + uint8_t *block_id) { + const size_t data_size = FN(HistogramDataSize)(); + const size_t bitmaplen = (num_histograms + 7) >> 3; + size_t num_blocks = 1; + size_t i; + size_t j; + assert(num_histograms <= 256); + if (num_histograms <= 1) { + for (i = 0; i < length; ++i) { + block_id[i] = 0; + } + return 1; + } + memset(insert_cost, 0, sizeof(insert_cost[0]) * data_size * num_histograms); + for (i = 0; i < num_histograms; ++i) { + insert_cost[i] = FastLog2((uint32_t)histograms[i].total_count_); + } + for (i = data_size; i != 0;) { + --i; + for (j = 0; j < num_histograms; ++j) { + insert_cost[i * num_histograms + j] = + insert_cost[j] - BitCost(histograms[j].data_[i]); + } + } + memset(cost, 0, sizeof(cost[0]) * num_histograms); + memset(switch_signal, 0, sizeof(switch_signal[0]) * length * bitmaplen); + /* After each iteration of this loop, cost[k] will contain the difference + between the minimum cost of arriving at the current byte position using + entropy code k, and the minimum cost of arriving at the current byte + position. This difference is capped at the block switch cost, and if it + reaches block switch cost, it means that when we trace back from the last + position, we need to switch here. */ + for (i = 0; i < length; ++i) { + const size_t byte_ix = i; + size_t ix = byte_ix * bitmaplen; + size_t insert_cost_ix = data[byte_ix] * num_histograms; + double min_cost = 1e99; + double block_switch_cost = block_switch_bitcost; + size_t k; + for (k = 0; k < num_histograms; ++k) { + /* We are coding the symbol in data[byte_ix] with entropy code k. */ + cost[k] += insert_cost[insert_cost_ix + k]; + if (cost[k] < min_cost) { + min_cost = cost[k]; + block_id[byte_ix] = (uint8_t)k; + } + } + /* More blocks for the beginning. */ + if (byte_ix < 2000) { + block_switch_cost *= 0.77 + 0.07 * (double)byte_ix / 2000; + } + for (k = 0; k < num_histograms; ++k) { + cost[k] -= min_cost; + if (cost[k] >= block_switch_cost) { + const uint8_t mask = (uint8_t)(1u << (k & 7)); + cost[k] = block_switch_cost; + assert((k >> 3) < bitmaplen); + switch_signal[ix + (k >> 3)] |= mask; + } + } + } + { /* Trace back from the last position and switch at the marked places. */ + size_t byte_ix = length - 1; + size_t ix = byte_ix * bitmaplen; + uint8_t cur_id = block_id[byte_ix]; + while (byte_ix > 0) { + const uint8_t mask = (uint8_t)(1u << (cur_id & 7)); + assert(((size_t)cur_id >> 3) < bitmaplen); + --byte_ix; + ix -= bitmaplen; + if (switch_signal[ix + (cur_id >> 3)] & mask) { + if (cur_id != block_id[byte_ix]) { + cur_id = block_id[byte_ix]; + ++num_blocks; + } + } + block_id[byte_ix] = cur_id; + } + } + return num_blocks; +} + +static size_t FN(RemapBlockIds)(uint8_t* block_ids, const size_t length, + uint16_t* new_id, const size_t num_histograms) { + static const uint16_t kInvalidId = 256; + uint16_t next_id = 0; + size_t i; + for (i = 0; i < num_histograms; ++i) { + new_id[i] = kInvalidId; + } + for (i = 0; i < length; ++i) { + assert(block_ids[i] < num_histograms); + if (new_id[block_ids[i]] == kInvalidId) { + new_id[block_ids[i]] = next_id++; + } + } + for (i = 0; i < length; ++i) { + block_ids[i] = (uint8_t)new_id[block_ids[i]]; + assert(block_ids[i] < num_histograms); + } + assert(next_id <= num_histograms); + return next_id; +} + +static void FN(BuildBlockHistograms)(const DataType* data, const size_t length, + const uint8_t* block_ids, + const size_t num_histograms, + HistogramType* histograms) { + size_t i; + FN(ClearHistograms)(histograms, num_histograms); + for (i = 0; i < length; ++i) { + FN(HistogramAdd)(&histograms[block_ids[i]], data[i]); + } +} + +static void FN(ClusterBlocks)(MemoryManager* m, + const DataType* data, const size_t length, + const size_t num_blocks, + uint8_t* block_ids, + BlockSplit* split) { + uint32_t* histogram_symbols = BROTLI_ALLOC(m, uint32_t, num_blocks); + uint32_t* block_lengths = BROTLI_ALLOC(m, uint32_t, num_blocks); + const size_t expected_num_clusters = CLUSTERS_PER_BATCH * + (num_blocks + HISTOGRAMS_PER_BATCH - 1) / HISTOGRAMS_PER_BATCH; + size_t all_histograms_size = 0; + size_t all_histograms_capacity = expected_num_clusters; + HistogramType* all_histograms = + BROTLI_ALLOC(m, HistogramType, all_histograms_capacity); + size_t cluster_size_size = 0; + size_t cluster_size_capacity = expected_num_clusters; + uint32_t* cluster_size = BROTLI_ALLOC(m, uint32_t, cluster_size_capacity); + size_t num_clusters = 0; + HistogramType* histograms = BROTLI_ALLOC(m, HistogramType, + BROTLI_MIN(size_t, num_blocks, HISTOGRAMS_PER_BATCH)); + size_t max_num_pairs = + HISTOGRAMS_PER_BATCH * HISTOGRAMS_PER_BATCH / 2; + size_t pairs_capacity = max_num_pairs + 1; + HistogramPair* pairs = BROTLI_ALLOC(m, HistogramPair, pairs_capacity); + size_t pos = 0; + uint32_t* clusters; + size_t num_final_clusters; + static const uint32_t kInvalidIndex = BROTLI_UINT32_MAX; + uint32_t* new_index; + uint8_t max_type = 0; + size_t i; + uint32_t sizes[HISTOGRAMS_PER_BATCH] = { 0 }; + uint32_t new_clusters[HISTOGRAMS_PER_BATCH] = { 0 }; + uint32_t symbols[HISTOGRAMS_PER_BATCH] = { 0 }; + uint32_t remap[HISTOGRAMS_PER_BATCH] = { 0 }; + + if (BROTLI_IS_OOM(m)) return; + + memset(block_lengths, 0, num_blocks * sizeof(uint32_t)); + + { + size_t block_idx = 0; + for (i = 0; i < length; ++i) { + assert(block_idx < num_blocks); + ++block_lengths[block_idx]; + if (i + 1 == length || block_ids[i] != block_ids[i + 1]) { + ++block_idx; + } + } + assert(block_idx == num_blocks); + } + + for (i = 0; i < num_blocks; i += HISTOGRAMS_PER_BATCH) { + const size_t num_to_combine = + BROTLI_MIN(size_t, num_blocks - i, HISTOGRAMS_PER_BATCH); + size_t num_new_clusters; + size_t j; + for (j = 0; j < num_to_combine; ++j) { + size_t k; + FN(HistogramClear)(&histograms[j]); + for (k = 0; k < block_lengths[i + j]; ++k) { + FN(HistogramAdd)(&histograms[j], data[pos++]); + } + histograms[j].bit_cost_ = FN(BrotliPopulationCost)(&histograms[j]); + new_clusters[j] = (uint32_t)j; + symbols[j] = (uint32_t)j; + sizes[j] = 1; + } + num_new_clusters = FN(BrotliHistogramCombine)( + histograms, sizes, symbols, new_clusters, pairs, num_to_combine, + num_to_combine, HISTOGRAMS_PER_BATCH, max_num_pairs); + BROTLI_ENSURE_CAPACITY(m, HistogramType, all_histograms, + all_histograms_capacity, all_histograms_size + num_new_clusters); + BROTLI_ENSURE_CAPACITY(m, uint32_t, cluster_size, + cluster_size_capacity, cluster_size_size + num_new_clusters); + if (BROTLI_IS_OOM(m)) return; + for (j = 0; j < num_new_clusters; ++j) { + all_histograms[all_histograms_size++] = histograms[new_clusters[j]]; + cluster_size[cluster_size_size++] = sizes[new_clusters[j]]; + remap[new_clusters[j]] = (uint32_t)j; + } + for (j = 0; j < num_to_combine; ++j) { + histogram_symbols[i + j] = (uint32_t)num_clusters + remap[symbols[j]]; + } + num_clusters += num_new_clusters; + assert(num_clusters == cluster_size_size); + assert(num_clusters == all_histograms_size); + } + BROTLI_FREE(m, histograms); + + max_num_pairs = + BROTLI_MIN(size_t, 64 * num_clusters, (num_clusters / 2) * num_clusters); + if (pairs_capacity < max_num_pairs + 1) { + BROTLI_FREE(m, pairs); + pairs = BROTLI_ALLOC(m, HistogramPair, max_num_pairs + 1); + if (BROTLI_IS_OOM(m)) return; + } + + clusters = BROTLI_ALLOC(m, uint32_t, num_clusters); + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < num_clusters; ++i) { + clusters[i] = (uint32_t)i; + } + num_final_clusters = FN(BrotliHistogramCombine)( + all_histograms, cluster_size, histogram_symbols, clusters, pairs, + num_clusters, num_blocks, BROTLI_MAX_NUMBER_OF_BLOCK_TYPES, + max_num_pairs); + BROTLI_FREE(m, pairs); + BROTLI_FREE(m, cluster_size); + + new_index = BROTLI_ALLOC(m, uint32_t, num_clusters); + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < num_clusters; ++i) new_index[i] = kInvalidIndex; + pos = 0; + { + uint32_t next_index = 0; + for (i = 0; i < num_blocks; ++i) { + HistogramType histo; + size_t j; + uint32_t best_out; + double best_bits; + FN(HistogramClear)(&histo); + for (j = 0; j < block_lengths[i]; ++j) { + FN(HistogramAdd)(&histo, data[pos++]); + } + best_out = (i == 0) ? histogram_symbols[0] : histogram_symbols[i - 1]; + best_bits = + FN(BrotliHistogramBitCostDistance)(&histo, &all_histograms[best_out]); + for (j = 0; j < num_final_clusters; ++j) { + const double cur_bits = FN(BrotliHistogramBitCostDistance)( + &histo, &all_histograms[clusters[j]]); + if (cur_bits < best_bits) { + best_bits = cur_bits; + best_out = clusters[j]; + } + } + histogram_symbols[i] = best_out; + if (new_index[best_out] == kInvalidIndex) { + new_index[best_out] = next_index++; + } + } + } + BROTLI_FREE(m, clusters); + BROTLI_FREE(m, all_histograms); + BROTLI_ENSURE_CAPACITY( + m, uint8_t, split->types, split->types_alloc_size, num_blocks); + BROTLI_ENSURE_CAPACITY( + m, uint32_t, split->lengths, split->lengths_alloc_size, num_blocks); + if (BROTLI_IS_OOM(m)) return; + { + uint32_t cur_length = 0; + size_t block_idx = 0; + for (i = 0; i < num_blocks; ++i) { + cur_length += block_lengths[i]; + if (i + 1 == num_blocks || + histogram_symbols[i] != histogram_symbols[i + 1]) { + const uint8_t id = (uint8_t)new_index[histogram_symbols[i]]; + split->types[block_idx] = id; + split->lengths[block_idx] = cur_length; + max_type = BROTLI_MAX(uint8_t, max_type, id); + cur_length = 0; + ++block_idx; + } + } + split->num_blocks = block_idx; + split->num_types = (size_t)max_type + 1; + } + BROTLI_FREE(m, new_index); + BROTLI_FREE(m, block_lengths); + BROTLI_FREE(m, histogram_symbols); +} + +static void FN(SplitByteVector)(MemoryManager* m, + const DataType* data, const size_t length, + const size_t literals_per_histogram, + const size_t max_histograms, + const size_t sampling_stride_length, + const double block_switch_cost, + const BrotliEncoderParams* params, + BlockSplit* split) { + const size_t data_size = FN(HistogramDataSize)(); + size_t num_histograms = length / literals_per_histogram + 1; + HistogramType* histograms; + if (num_histograms > max_histograms) { + num_histograms = max_histograms; + } + if (length == 0) { + split->num_types = 1; + return; + } else if (length < kMinLengthForBlockSplitting) { + BROTLI_ENSURE_CAPACITY(m, uint8_t, + split->types, split->types_alloc_size, split->num_blocks + 1); + BROTLI_ENSURE_CAPACITY(m, uint32_t, + split->lengths, split->lengths_alloc_size, split->num_blocks + 1); + if (BROTLI_IS_OOM(m)) return; + split->num_types = 1; + split->types[split->num_blocks] = 0; + split->lengths[split->num_blocks] = (uint32_t)length; + split->num_blocks++; + return; + } + histograms = BROTLI_ALLOC(m, HistogramType, num_histograms); + if (BROTLI_IS_OOM(m)) return; + /* Find good entropy codes. */ + FN(InitialEntropyCodes)(data, length, + sampling_stride_length, + num_histograms, histograms); + FN(RefineEntropyCodes)(data, length, + sampling_stride_length, + num_histograms, histograms); + { + /* Find a good path through literals with the good entropy codes. */ + uint8_t* block_ids = BROTLI_ALLOC(m, uint8_t, length); + size_t num_blocks; + const size_t bitmaplen = (num_histograms + 7) >> 3; + double* insert_cost = BROTLI_ALLOC(m, double, data_size * num_histograms); + double* cost = BROTLI_ALLOC(m, double, num_histograms); + uint8_t* switch_signal = BROTLI_ALLOC(m, uint8_t, length * bitmaplen); + uint16_t* new_id = BROTLI_ALLOC(m, uint16_t, num_histograms); + const size_t iters = params->quality < HQ_ZOPFLIFICATION_QUALITY ? 3 : 10; + size_t i; + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < iters; ++i) { + num_blocks = FN(FindBlocks)(data, length, + block_switch_cost, + num_histograms, histograms, + insert_cost, cost, switch_signal, + block_ids); + num_histograms = FN(RemapBlockIds)(block_ids, length, + new_id, num_histograms); + FN(BuildBlockHistograms)(data, length, block_ids, + num_histograms, histograms); + } + BROTLI_FREE(m, insert_cost); + BROTLI_FREE(m, cost); + BROTLI_FREE(m, switch_signal); + BROTLI_FREE(m, new_id); + BROTLI_FREE(m, histograms); + FN(ClusterBlocks)(m, data, length, num_blocks, block_ids, split); + if (BROTLI_IS_OOM(m)) return; + BROTLI_FREE(m, block_ids); + } +} + +#undef HistogramType diff --git a/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c b/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c new file mode 100644 index 000000000000..f77a2a61f059 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c @@ -0,0 +1,1334 @@ +/* Copyright 2014 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Brotli bit stream functions to support the low level format. There are no + compression algorithms here, just the right ordering of bits to match the + specs. */ + +#include "./brotli_bit_stream.h" + +#include /* memcpy, memset */ + +#include "../common/constants.h" +#include "../common/types.h" +#include "./context.h" +#include "./entropy_encode.h" +#include "./entropy_encode_static.h" +#include "./fast_log.h" +#include "./memory.h" +#include "./port.h" +#include "./write_bits.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define MAX_HUFFMAN_TREE_SIZE (2 * BROTLI_NUM_COMMAND_SYMBOLS + 1) + +/* Represents the range of values belonging to a prefix code: + [offset, offset + 2^nbits) */ +typedef struct PrefixCodeRange { + uint32_t offset; + uint32_t nbits; +} PrefixCodeRange; + +static const PrefixCodeRange + kBlockLengthPrefixCode[BROTLI_NUM_BLOCK_LEN_SYMBOLS] = { + { 1, 2}, { 5, 2}, { 9, 2}, {13, 2}, {17, 3}, { 25, 3}, { 33, 3}, + {41, 3}, {49, 4}, {65, 4}, {81, 4}, {97, 4}, {113, 5}, {145, 5}, + {177, 5}, { 209, 5}, { 241, 6}, { 305, 6}, { 369, 7}, { 497, 8}, + {753, 9}, {1265, 10}, {2289, 11}, {4337, 12}, {8433, 13}, {16625, 24} +}; + +static BROTLI_INLINE uint32_t BlockLengthPrefixCode(uint32_t len) { + uint32_t code = (len >= 177) ? (len >= 753 ? 20 : 14) : (len >= 41 ? 7 : 0); + while (code < (BROTLI_NUM_BLOCK_LEN_SYMBOLS - 1) && + len >= kBlockLengthPrefixCode[code + 1].offset) ++code; + return code; +} + +static BROTLI_INLINE void GetBlockLengthPrefixCode(uint32_t len, size_t* code, + uint32_t* n_extra, uint32_t* extra) { + *code = BlockLengthPrefixCode(len); + *n_extra = kBlockLengthPrefixCode[*code].nbits; + *extra = len - kBlockLengthPrefixCode[*code].offset; +} + +typedef struct BlockTypeCodeCalculator { + size_t last_type; + size_t second_last_type; +} BlockTypeCodeCalculator; + +static void InitBlockTypeCodeCalculator(BlockTypeCodeCalculator* self) { + self->last_type = 1; + self->second_last_type = 0; +} + +static BROTLI_INLINE size_t NextBlockTypeCode( + BlockTypeCodeCalculator* calculator, uint8_t type) { + size_t type_code = (type == calculator->last_type + 1) ? 1u : + (type == calculator->second_last_type) ? 0u : type + 2u; + calculator->second_last_type = calculator->last_type; + calculator->last_type = type; + return type_code; +} + +/* nibblesbits represents the 2 bits to encode MNIBBLES (0-3) + REQUIRES: length > 0 + REQUIRES: length <= (1 << 24) */ +static void BrotliEncodeMlen(size_t length, uint64_t* bits, + size_t* numbits, uint64_t* nibblesbits) { + size_t lg = (length == 1) ? 1 : Log2FloorNonZero((uint32_t)(length - 1)) + 1; + size_t mnibbles = (lg < 16 ? 16 : (lg + 3)) / 4; + assert(length > 0); + assert(length <= (1 << 24)); + assert(lg <= 24); + *nibblesbits = mnibbles - 4; + *numbits = mnibbles * 4; + *bits = length - 1; +} + +static BROTLI_INLINE void StoreCommandExtra( + const Command* cmd, size_t* storage_ix, uint8_t* storage) { + uint32_t copylen_code = CommandCopyLenCode(cmd); + uint16_t inscode = GetInsertLengthCode(cmd->insert_len_); + uint16_t copycode = GetCopyLengthCode(copylen_code); + uint32_t insnumextra = GetInsertExtra(inscode); + uint64_t insextraval = cmd->insert_len_ - GetInsertBase(inscode); + uint64_t copyextraval = copylen_code - GetCopyBase(copycode); + uint64_t bits = (copyextraval << insnumextra) | insextraval; + BrotliWriteBits( + insnumextra + GetCopyExtra(copycode), bits, storage_ix, storage); +} + +/* Data structure that stores almost everything that is needed to encode each + block switch command. */ +typedef struct BlockSplitCode { + BlockTypeCodeCalculator type_code_calculator; + uint8_t type_depths[BROTLI_MAX_BLOCK_TYPE_SYMBOLS]; + uint16_t type_bits[BROTLI_MAX_BLOCK_TYPE_SYMBOLS]; + uint8_t length_depths[BROTLI_NUM_BLOCK_LEN_SYMBOLS]; + uint16_t length_bits[BROTLI_NUM_BLOCK_LEN_SYMBOLS]; +} BlockSplitCode; + +/* Stores a number between 0 and 255. */ +static void StoreVarLenUint8(size_t n, size_t* storage_ix, uint8_t* storage) { + if (n == 0) { + BrotliWriteBits(1, 0, storage_ix, storage); + } else { + size_t nbits = Log2FloorNonZero(n); + BrotliWriteBits(1, 1, storage_ix, storage); + BrotliWriteBits(3, nbits, storage_ix, storage); + BrotliWriteBits(nbits, n - ((size_t)1 << nbits), storage_ix, storage); + } +} + +/* Stores the compressed meta-block header. + REQUIRES: length > 0 + REQUIRES: length <= (1 << 24) */ +static void StoreCompressedMetaBlockHeader(BROTLI_BOOL is_final_block, + size_t length, + size_t* storage_ix, + uint8_t* storage) { + uint64_t lenbits; + size_t nlenbits; + uint64_t nibblesbits; + + /* Write ISLAST bit. */ + BrotliWriteBits(1, (uint64_t)is_final_block, storage_ix, storage); + /* Write ISEMPTY bit. */ + if (is_final_block) { + BrotliWriteBits(1, 0, storage_ix, storage); + } + + BrotliEncodeMlen(length, &lenbits, &nlenbits, &nibblesbits); + BrotliWriteBits(2, nibblesbits, storage_ix, storage); + BrotliWriteBits(nlenbits, lenbits, storage_ix, storage); + + if (!is_final_block) { + /* Write ISUNCOMPRESSED bit. */ + BrotliWriteBits(1, 0, storage_ix, storage); + } +} + +/* Stores the uncompressed meta-block header. + REQUIRES: length > 0 + REQUIRES: length <= (1 << 24) */ +static void BrotliStoreUncompressedMetaBlockHeader(size_t length, + size_t* storage_ix, + uint8_t* storage) { + uint64_t lenbits; + size_t nlenbits; + uint64_t nibblesbits; + + /* Write ISLAST bit. + Uncompressed block cannot be the last one, so set to 0. */ + BrotliWriteBits(1, 0, storage_ix, storage); + BrotliEncodeMlen(length, &lenbits, &nlenbits, &nibblesbits); + BrotliWriteBits(2, nibblesbits, storage_ix, storage); + BrotliWriteBits(nlenbits, lenbits, storage_ix, storage); + /* Write ISUNCOMPRESSED bit. */ + BrotliWriteBits(1, 1, storage_ix, storage); +} + +static void BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask( + const int num_codes, const uint8_t* code_length_bitdepth, + size_t* storage_ix, uint8_t* storage) { + static const uint8_t kStorageOrder[BROTLI_CODE_LENGTH_CODES] = { + 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15 + }; + /* The bit lengths of the Huffman code over the code length alphabet + are compressed with the following static Huffman code: + Symbol Code + ------ ---- + 0 00 + 1 1110 + 2 110 + 3 01 + 4 10 + 5 1111 */ + static const uint8_t kHuffmanBitLengthHuffmanCodeSymbols[6] = { + 0, 7, 3, 2, 1, 15 + }; + static const uint8_t kHuffmanBitLengthHuffmanCodeBitLengths[6] = { + 2, 4, 3, 2, 2, 4 + }; + + size_t skip_some = 0; /* skips none. */ + + /* Throw away trailing zeros: */ + size_t codes_to_store = BROTLI_CODE_LENGTH_CODES; + if (num_codes > 1) { + for (; codes_to_store > 0; --codes_to_store) { + if (code_length_bitdepth[kStorageOrder[codes_to_store - 1]] != 0) { + break; + } + } + } + if (code_length_bitdepth[kStorageOrder[0]] == 0 && + code_length_bitdepth[kStorageOrder[1]] == 0) { + skip_some = 2; /* skips two. */ + if (code_length_bitdepth[kStorageOrder[2]] == 0) { + skip_some = 3; /* skips three. */ + } + } + BrotliWriteBits(2, skip_some, storage_ix, storage); + { + size_t i; + for (i = skip_some; i < codes_to_store; ++i) { + size_t l = code_length_bitdepth[kStorageOrder[i]]; + BrotliWriteBits(kHuffmanBitLengthHuffmanCodeBitLengths[l], + kHuffmanBitLengthHuffmanCodeSymbols[l], storage_ix, storage); + } + } +} + +static void BrotliStoreHuffmanTreeToBitMask( + const size_t huffman_tree_size, const uint8_t* huffman_tree, + const uint8_t* huffman_tree_extra_bits, const uint8_t* code_length_bitdepth, + const uint16_t* code_length_bitdepth_symbols, + size_t* BROTLI_RESTRICT storage_ix, uint8_t* BROTLI_RESTRICT storage) { + size_t i; + for (i = 0; i < huffman_tree_size; ++i) { + size_t ix = huffman_tree[i]; + BrotliWriteBits(code_length_bitdepth[ix], code_length_bitdepth_symbols[ix], + storage_ix, storage); + /* Extra bits */ + switch (ix) { + case BROTLI_REPEAT_PREVIOUS_CODE_LENGTH: + BrotliWriteBits(2, huffman_tree_extra_bits[i], storage_ix, storage); + break; + case BROTLI_REPEAT_ZERO_CODE_LENGTH: + BrotliWriteBits(3, huffman_tree_extra_bits[i], storage_ix, storage); + break; + } + } +} + +static void StoreSimpleHuffmanTree(const uint8_t* depths, + size_t symbols[4], + size_t num_symbols, + size_t max_bits, + size_t *storage_ix, uint8_t *storage) { + /* value of 1 indicates a simple Huffman code */ + BrotliWriteBits(2, 1, storage_ix, storage); + BrotliWriteBits(2, num_symbols - 1, storage_ix, storage); /* NSYM - 1 */ + + { + /* Sort */ + size_t i; + for (i = 0; i < num_symbols; i++) { + size_t j; + for (j = i + 1; j < num_symbols; j++) { + if (depths[symbols[j]] < depths[symbols[i]]) { + BROTLI_SWAP(size_t, symbols, j, i); + } + } + } + } + + if (num_symbols == 2) { + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[1], storage_ix, storage); + } else if (num_symbols == 3) { + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[1], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[2], storage_ix, storage); + } else { + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[1], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[2], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[3], storage_ix, storage); + /* tree-select */ + BrotliWriteBits(1, depths[symbols[0]] == 1 ? 1 : 0, storage_ix, storage); + } +} + +/* num = alphabet size + depths = symbol depths */ +void BrotliStoreHuffmanTree(const uint8_t* depths, size_t num, + HuffmanTree* tree, + size_t *storage_ix, uint8_t *storage) { + /* Write the Huffman tree into the brotli-representation. + The command alphabet is the largest, so this allocation will fit all + alphabets. */ + uint8_t huffman_tree[BROTLI_NUM_COMMAND_SYMBOLS]; + uint8_t huffman_tree_extra_bits[BROTLI_NUM_COMMAND_SYMBOLS]; + size_t huffman_tree_size = 0; + uint8_t code_length_bitdepth[BROTLI_CODE_LENGTH_CODES] = { 0 }; + uint16_t code_length_bitdepth_symbols[BROTLI_CODE_LENGTH_CODES]; + uint32_t huffman_tree_histogram[BROTLI_CODE_LENGTH_CODES] = { 0 }; + size_t i; + int num_codes = 0; + size_t code = 0; + + assert(num <= BROTLI_NUM_COMMAND_SYMBOLS); + + BrotliWriteHuffmanTree(depths, num, &huffman_tree_size, huffman_tree, + huffman_tree_extra_bits); + + /* Calculate the statistics of the Huffman tree in brotli-representation. */ + for (i = 0; i < huffman_tree_size; ++i) { + ++huffman_tree_histogram[huffman_tree[i]]; + } + + for (i = 0; i < BROTLI_CODE_LENGTH_CODES; ++i) { + if (huffman_tree_histogram[i]) { + if (num_codes == 0) { + code = i; + num_codes = 1; + } else if (num_codes == 1) { + num_codes = 2; + break; + } + } + } + + /* Calculate another Huffman tree to use for compressing both the + earlier Huffman tree with. */ + BrotliCreateHuffmanTree(huffman_tree_histogram, BROTLI_CODE_LENGTH_CODES, + 5, tree, code_length_bitdepth); + BrotliConvertBitDepthsToSymbols(code_length_bitdepth, + BROTLI_CODE_LENGTH_CODES, + code_length_bitdepth_symbols); + + /* Now, we have all the data, let's start storing it */ + BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask(num_codes, code_length_bitdepth, + storage_ix, storage); + + if (num_codes == 1) { + code_length_bitdepth[code] = 0; + } + + /* Store the real huffman tree now. */ + BrotliStoreHuffmanTreeToBitMask(huffman_tree_size, + huffman_tree, + huffman_tree_extra_bits, + code_length_bitdepth, + code_length_bitdepth_symbols, + storage_ix, storage); +} + +/* Builds a Huffman tree from histogram[0:length] into depth[0:length] and + bits[0:length] and stores the encoded tree to the bit stream. */ +static void BuildAndStoreHuffmanTree(const uint32_t *histogram, + const size_t length, + HuffmanTree* tree, + uint8_t* depth, + uint16_t* bits, + size_t* storage_ix, + uint8_t* storage) { + size_t count = 0; + size_t s4[4] = { 0 }; + size_t i; + size_t max_bits = 0; + for (i = 0; i < length; i++) { + if (histogram[i]) { + if (count < 4) { + s4[count] = i; + } else if (count > 4) { + break; + } + count++; + } + } + + { + size_t max_bits_counter = length - 1; + while (max_bits_counter) { + max_bits_counter >>= 1; + ++max_bits; + } + } + + if (count <= 1) { + BrotliWriteBits(4, 1, storage_ix, storage); + BrotliWriteBits(max_bits, s4[0], storage_ix, storage); + depth[s4[0]] = 0; + bits[s4[0]] = 0; + return; + } + + memset(depth, 0, length * sizeof(depth[0])); + BrotliCreateHuffmanTree(histogram, length, 15, tree, depth); + BrotliConvertBitDepthsToSymbols(depth, length, bits); + + if (count <= 4) { + StoreSimpleHuffmanTree(depth, s4, count, max_bits, storage_ix, storage); + } else { + BrotliStoreHuffmanTree(depth, length, tree, storage_ix, storage); + } +} + +static BROTLI_INLINE BROTLI_BOOL SortHuffmanTree( + const HuffmanTree* v0, const HuffmanTree* v1) { + return TO_BROTLI_BOOL(v0->total_count_ < v1->total_count_); +} + +void BrotliBuildAndStoreHuffmanTreeFast(MemoryManager* m, + const uint32_t* histogram, + const size_t histogram_total, + const size_t max_bits, + uint8_t* depth, uint16_t* bits, + size_t* storage_ix, + uint8_t* storage) { + size_t count = 0; + size_t symbols[4] = { 0 }; + size_t length = 0; + size_t total = histogram_total; + while (total != 0) { + if (histogram[length]) { + if (count < 4) { + symbols[count] = length; + } + ++count; + total -= histogram[length]; + } + ++length; + } + + if (count <= 1) { + BrotliWriteBits(4, 1, storage_ix, storage); + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + depth[symbols[0]] = 0; + bits[symbols[0]] = 0; + return; + } + + memset(depth, 0, length * sizeof(depth[0])); + { + const size_t max_tree_size = 2 * length + 1; + HuffmanTree* tree = BROTLI_ALLOC(m, HuffmanTree, max_tree_size); + uint32_t count_limit; + if (BROTLI_IS_OOM(m)) return; + for (count_limit = 1; ; count_limit *= 2) { + HuffmanTree* node = tree; + size_t l; + for (l = length; l != 0;) { + --l; + if (histogram[l]) { + if (PREDICT_TRUE(histogram[l] >= count_limit)) { + InitHuffmanTree(node, histogram[l], -1, (int16_t)l); + } else { + InitHuffmanTree(node, count_limit, -1, (int16_t)l); + } + ++node; + } + } + { + const int n = (int)(node - tree); + HuffmanTree sentinel; + int i = 0; /* Points to the next leaf node. */ + int j = n + 1; /* Points to the next non-leaf node. */ + int k; + + SortHuffmanTreeItems(tree, (size_t)n, SortHuffmanTree); + /* The nodes are: + [0, n): the sorted leaf nodes that we start with. + [n]: we add a sentinel here. + [n + 1, 2n): new parent nodes are added here, starting from + (n+1). These are naturally in ascending order. + [2n]: we add a sentinel at the end as well. + There will be (2n+1) elements at the end. */ + InitHuffmanTree(&sentinel, BROTLI_UINT32_MAX, -1, -1); + *node++ = sentinel; + *node++ = sentinel; + + for (k = n - 1; k > 0; --k) { + int left, right; + if (tree[i].total_count_ <= tree[j].total_count_) { + left = i; + ++i; + } else { + left = j; + ++j; + } + if (tree[i].total_count_ <= tree[j].total_count_) { + right = i; + ++i; + } else { + right = j; + ++j; + } + /* The sentinel node becomes the parent node. */ + node[-1].total_count_ = + tree[left].total_count_ + tree[right].total_count_; + node[-1].index_left_ = (int16_t)left; + node[-1].index_right_or_value_ = (int16_t)right; + /* Add back the last sentinel node. */ + *node++ = sentinel; + } + if (BrotliSetDepth(2 * n - 1, tree, depth, 14)) { + /* We need to pack the Huffman tree in 14 bits. If this was not + successful, add fake entities to the lowest values and retry. */ + break; + } + } + } + BROTLI_FREE(m, tree); + } + BrotliConvertBitDepthsToSymbols(depth, length, bits); + if (count <= 4) { + size_t i; + /* value of 1 indicates a simple Huffman code */ + BrotliWriteBits(2, 1, storage_ix, storage); + BrotliWriteBits(2, count - 1, storage_ix, storage); /* NSYM - 1 */ + + /* Sort */ + for (i = 0; i < count; i++) { + size_t j; + for (j = i + 1; j < count; j++) { + if (depth[symbols[j]] < depth[symbols[i]]) { + BROTLI_SWAP(size_t, symbols, j, i); + } + } + } + + if (count == 2) { + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[1], storage_ix, storage); + } else if (count == 3) { + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[1], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[2], storage_ix, storage); + } else { + BrotliWriteBits(max_bits, symbols[0], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[1], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[2], storage_ix, storage); + BrotliWriteBits(max_bits, symbols[3], storage_ix, storage); + /* tree-select */ + BrotliWriteBits(1, depth[symbols[0]] == 1 ? 1 : 0, storage_ix, storage); + } + } else { + uint8_t previous_value = 8; + size_t i; + /* Complex Huffman Tree */ + StoreStaticCodeLengthCode(storage_ix, storage); + + /* Actual rle coding. */ + for (i = 0; i < length;) { + const uint8_t value = depth[i]; + size_t reps = 1; + size_t k; + for (k = i + 1; k < length && depth[k] == value; ++k) { + ++reps; + } + i += reps; + if (value == 0) { + BrotliWriteBits(kZeroRepsDepth[reps], kZeroRepsBits[reps], + storage_ix, storage); + } else { + if (previous_value != value) { + BrotliWriteBits(kCodeLengthDepth[value], kCodeLengthBits[value], + storage_ix, storage); + --reps; + } + if (reps < 3) { + while (reps != 0) { + reps--; + BrotliWriteBits(kCodeLengthDepth[value], kCodeLengthBits[value], + storage_ix, storage); + } + } else { + reps -= 3; + BrotliWriteBits(kNonZeroRepsDepth[reps], kNonZeroRepsBits[reps], + storage_ix, storage); + } + previous_value = value; + } + } + } +} + +static size_t IndexOf(const uint8_t* v, size_t v_size, uint8_t value) { + size_t i = 0; + for (; i < v_size; ++i) { + if (v[i] == value) return i; + } + return i; +} + +static void MoveToFront(uint8_t* v, size_t index) { + uint8_t value = v[index]; + size_t i; + for (i = index; i != 0; --i) { + v[i] = v[i - 1]; + } + v[0] = value; +} + +static void MoveToFrontTransform(const uint32_t* BROTLI_RESTRICT v_in, + const size_t v_size, + uint32_t* v_out) { + size_t i; + uint8_t mtf[256]; + uint32_t max_value; + if (v_size == 0) { + return; + } + max_value = v_in[0]; + for (i = 1; i < v_size; ++i) { + if (v_in[i] > max_value) max_value = v_in[i]; + } + assert(max_value < 256u); + for (i = 0; i <= max_value; ++i) { + mtf[i] = (uint8_t)i; + } + { + size_t mtf_size = max_value + 1; + for (i = 0; i < v_size; ++i) { + size_t index = IndexOf(mtf, mtf_size, (uint8_t)v_in[i]); + assert(index < mtf_size); + v_out[i] = (uint32_t)index; + MoveToFront(mtf, index); + } + } +} + +/* Finds runs of zeros in v[0..in_size) and replaces them with a prefix code of + the run length plus extra bits (lower 9 bits is the prefix code and the rest + are the extra bits). Non-zero values in v[] are shifted by + *max_length_prefix. Will not create prefix codes bigger than the initial + value of *max_run_length_prefix. The prefix code of run length L is simply + Log2Floor(L) and the number of extra bits is the same as the prefix code. */ +static void RunLengthCodeZeros(const size_t in_size, + uint32_t* BROTLI_RESTRICT v, size_t* BROTLI_RESTRICT out_size, + uint32_t* BROTLI_RESTRICT max_run_length_prefix) { + uint32_t max_reps = 0; + size_t i; + uint32_t max_prefix; + for (i = 0; i < in_size;) { + uint32_t reps = 0; + for (; i < in_size && v[i] != 0; ++i) ; + for (; i < in_size && v[i] == 0; ++i) { + ++reps; + } + max_reps = BROTLI_MAX(uint32_t, reps, max_reps); + } + max_prefix = max_reps > 0 ? Log2FloorNonZero(max_reps) : 0; + max_prefix = BROTLI_MIN(uint32_t, max_prefix, *max_run_length_prefix); + *max_run_length_prefix = max_prefix; + *out_size = 0; + for (i = 0; i < in_size;) { + assert(*out_size <= i); + if (v[i] != 0) { + v[*out_size] = v[i] + *max_run_length_prefix; + ++i; + ++(*out_size); + } else { + uint32_t reps = 1; + size_t k; + for (k = i + 1; k < in_size && v[k] == 0; ++k) { + ++reps; + } + i += reps; + while (reps != 0) { + if (reps < (2u << max_prefix)) { + uint32_t run_length_prefix = Log2FloorNonZero(reps); + const uint32_t extra_bits = reps - (1u << run_length_prefix); + v[*out_size] = run_length_prefix + (extra_bits << 9); + ++(*out_size); + break; + } else { + const uint32_t extra_bits = (1u << max_prefix) - 1u; + v[*out_size] = max_prefix + (extra_bits << 9); + reps -= (2u << max_prefix) - 1u; + ++(*out_size); + } + } + } + } +} + +#define SYMBOL_BITS 9 + +static void EncodeContextMap(MemoryManager* m, + const uint32_t* context_map, + size_t context_map_size, + size_t num_clusters, + HuffmanTree* tree, + size_t* storage_ix, uint8_t* storage) { + size_t i; + uint32_t* rle_symbols; + uint32_t max_run_length_prefix = 6; + size_t num_rle_symbols = 0; + uint32_t histogram[BROTLI_MAX_CONTEXT_MAP_SYMBOLS]; + static const uint32_t kSymbolMask = (1u << SYMBOL_BITS) - 1u; + uint8_t depths[BROTLI_MAX_CONTEXT_MAP_SYMBOLS]; + uint16_t bits[BROTLI_MAX_CONTEXT_MAP_SYMBOLS]; + + StoreVarLenUint8(num_clusters - 1, storage_ix, storage); + + if (num_clusters == 1) { + return; + } + + rle_symbols = BROTLI_ALLOC(m, uint32_t, context_map_size); + if (BROTLI_IS_OOM(m)) return; + MoveToFrontTransform(context_map, context_map_size, rle_symbols); + RunLengthCodeZeros(context_map_size, rle_symbols, + &num_rle_symbols, &max_run_length_prefix); + memset(histogram, 0, sizeof(histogram)); + for (i = 0; i < num_rle_symbols; ++i) { + ++histogram[rle_symbols[i] & kSymbolMask]; + } + { + BROTLI_BOOL use_rle = TO_BROTLI_BOOL(max_run_length_prefix > 0); + BrotliWriteBits(1, (uint64_t)use_rle, storage_ix, storage); + if (use_rle) { + BrotliWriteBits(4, max_run_length_prefix - 1, storage_ix, storage); + } + } + BuildAndStoreHuffmanTree(histogram, num_clusters + max_run_length_prefix, + tree, depths, bits, storage_ix, storage); + for (i = 0; i < num_rle_symbols; ++i) { + const uint32_t rle_symbol = rle_symbols[i] & kSymbolMask; + const uint32_t extra_bits_val = rle_symbols[i] >> SYMBOL_BITS; + BrotliWriteBits(depths[rle_symbol], bits[rle_symbol], storage_ix, storage); + if (rle_symbol > 0 && rle_symbol <= max_run_length_prefix) { + BrotliWriteBits(rle_symbol, extra_bits_val, storage_ix, storage); + } + } + BrotliWriteBits(1, 1, storage_ix, storage); /* use move-to-front */ + BROTLI_FREE(m, rle_symbols); +} + +/* Stores the block switch command with index block_ix to the bit stream. */ +static BROTLI_INLINE void StoreBlockSwitch(BlockSplitCode* code, + const uint32_t block_len, + const uint8_t block_type, + BROTLI_BOOL is_first_block, + size_t* storage_ix, + uint8_t* storage) { + size_t typecode = NextBlockTypeCode(&code->type_code_calculator, block_type); + size_t lencode; + uint32_t len_nextra; + uint32_t len_extra; + if (!is_first_block) { + BrotliWriteBits(code->type_depths[typecode], code->type_bits[typecode], + storage_ix, storage); + } + GetBlockLengthPrefixCode(block_len, &lencode, &len_nextra, &len_extra); + + BrotliWriteBits(code->length_depths[lencode], code->length_bits[lencode], + storage_ix, storage); + BrotliWriteBits(len_nextra, len_extra, storage_ix, storage); +} + +/* Builds a BlockSplitCode data structure from the block split given by the + vector of block types and block lengths and stores it to the bit stream. */ +static void BuildAndStoreBlockSplitCode(const uint8_t* types, + const uint32_t* lengths, + const size_t num_blocks, + const size_t num_types, + HuffmanTree* tree, + BlockSplitCode* code, + size_t* storage_ix, + uint8_t* storage) { + uint32_t type_histo[BROTLI_MAX_BLOCK_TYPE_SYMBOLS]; + uint32_t length_histo[BROTLI_NUM_BLOCK_LEN_SYMBOLS]; + size_t i; + BlockTypeCodeCalculator type_code_calculator; + memset(type_histo, 0, (num_types + 2) * sizeof(type_histo[0])); + memset(length_histo, 0, sizeof(length_histo)); + InitBlockTypeCodeCalculator(&type_code_calculator); + for (i = 0; i < num_blocks; ++i) { + size_t type_code = NextBlockTypeCode(&type_code_calculator, types[i]); + if (i != 0) ++type_histo[type_code]; + ++length_histo[BlockLengthPrefixCode(lengths[i])]; + } + StoreVarLenUint8(num_types - 1, storage_ix, storage); + if (num_types > 1) { /* TODO: else? could StoreBlockSwitch occur? */ + BuildAndStoreHuffmanTree(&type_histo[0], num_types + 2, tree, + &code->type_depths[0], &code->type_bits[0], + storage_ix, storage); + BuildAndStoreHuffmanTree(&length_histo[0], BROTLI_NUM_BLOCK_LEN_SYMBOLS, + tree, &code->length_depths[0], + &code->length_bits[0], storage_ix, storage); + StoreBlockSwitch(code, lengths[0], types[0], 1, storage_ix, storage); + } +} + +/* Stores a context map where the histogram type is always the block type. */ +static void StoreTrivialContextMap(size_t num_types, + size_t context_bits, + HuffmanTree* tree, + size_t* storage_ix, + uint8_t* storage) { + StoreVarLenUint8(num_types - 1, storage_ix, storage); + if (num_types > 1) { + size_t repeat_code = context_bits - 1u; + size_t repeat_bits = (1u << repeat_code) - 1u; + size_t alphabet_size = num_types + repeat_code; + uint32_t histogram[BROTLI_MAX_CONTEXT_MAP_SYMBOLS]; + uint8_t depths[BROTLI_MAX_CONTEXT_MAP_SYMBOLS]; + uint16_t bits[BROTLI_MAX_CONTEXT_MAP_SYMBOLS]; + size_t i; + memset(histogram, 0, alphabet_size * sizeof(histogram[0])); + /* Write RLEMAX. */ + BrotliWriteBits(1, 1, storage_ix, storage); + BrotliWriteBits(4, repeat_code - 1, storage_ix, storage); + histogram[repeat_code] = (uint32_t)num_types; + histogram[0] = 1; + for (i = context_bits; i < alphabet_size; ++i) { + histogram[i] = 1; + } + BuildAndStoreHuffmanTree(histogram, alphabet_size, tree, + depths, bits, storage_ix, storage); + for (i = 0; i < num_types; ++i) { + size_t code = (i == 0 ? 0 : i + context_bits - 1); + BrotliWriteBits(depths[code], bits[code], storage_ix, storage); + BrotliWriteBits( + depths[repeat_code], bits[repeat_code], storage_ix, storage); + BrotliWriteBits(repeat_code, repeat_bits, storage_ix, storage); + } + /* Write IMTF (inverse-move-to-front) bit. */ + BrotliWriteBits(1, 1, storage_ix, storage); + } +} + +/* Manages the encoding of one block category (literal, command or distance). */ +typedef struct BlockEncoder { + size_t alphabet_size_; + size_t num_block_types_; + const uint8_t* block_types_; /* Not owned. */ + const uint32_t* block_lengths_; /* Not owned. */ + size_t num_blocks_; + BlockSplitCode block_split_code_; + size_t block_ix_; + size_t block_len_; + size_t entropy_ix_; + uint8_t* depths_; + uint16_t* bits_; +} BlockEncoder; + +static void InitBlockEncoder(BlockEncoder* self, size_t alphabet_size, + size_t num_block_types, const uint8_t* block_types, + const uint32_t* block_lengths, const size_t num_blocks) { + self->alphabet_size_ = alphabet_size; + self->num_block_types_ = num_block_types; + self->block_types_ = block_types; + self->block_lengths_ = block_lengths; + self->num_blocks_ = num_blocks; + InitBlockTypeCodeCalculator(&self->block_split_code_.type_code_calculator); + self->block_ix_ = 0; + self->block_len_ = num_blocks == 0 ? 0 : block_lengths[0]; + self->entropy_ix_ = 0; + self->depths_ = 0; + self->bits_ = 0; +} + +static void CleanupBlockEncoder(MemoryManager* m, BlockEncoder* self) { + BROTLI_FREE(m, self->depths_); + BROTLI_FREE(m, self->bits_); +} + +/* Creates entropy codes of block lengths and block types and stores them + to the bit stream. */ +static void BuildAndStoreBlockSwitchEntropyCodes(BlockEncoder* self, + HuffmanTree* tree, size_t* storage_ix, uint8_t* storage) { + BuildAndStoreBlockSplitCode(self->block_types_, self->block_lengths_, + self->num_blocks_, self->num_block_types_, tree, &self->block_split_code_, + storage_ix, storage); +} + +/* Stores the next symbol with the entropy code of the current block type. + Updates the block type and block length at block boundaries. */ +static void StoreSymbol(BlockEncoder* self, size_t symbol, size_t* storage_ix, + uint8_t* storage) { + if (self->block_len_ == 0) { + size_t block_ix = ++self->block_ix_; + uint32_t block_len = self->block_lengths_[block_ix]; + uint8_t block_type = self->block_types_[block_ix]; + self->block_len_ = block_len; + self->entropy_ix_ = block_type * self->alphabet_size_; + StoreBlockSwitch(&self->block_split_code_, block_len, block_type, 0, + storage_ix, storage); + } + --self->block_len_; + { + size_t ix = self->entropy_ix_ + symbol; + BrotliWriteBits(self->depths_[ix], self->bits_[ix], storage_ix, storage); + } +} + +/* Stores the next symbol with the entropy code of the current block type and + context value. + Updates the block type and block length at block boundaries. */ +static void StoreSymbolWithContext(BlockEncoder* self, size_t symbol, + size_t context, const uint32_t* context_map, size_t* storage_ix, + uint8_t* storage, const size_t context_bits) { + if (self->block_len_ == 0) { + size_t block_ix = ++self->block_ix_; + uint32_t block_len = self->block_lengths_[block_ix]; + uint8_t block_type = self->block_types_[block_ix]; + self->block_len_ = block_len; + self->entropy_ix_ = (size_t)block_type << context_bits; + StoreBlockSwitch(&self->block_split_code_, block_len, block_type, 0, + storage_ix, storage); + } + --self->block_len_; + { + size_t histo_ix = context_map[self->entropy_ix_ + context]; + size_t ix = histo_ix * self->alphabet_size_ + symbol; + BrotliWriteBits(self->depths_[ix], self->bits_[ix], storage_ix, storage); + } +} + +#define FN(X) X ## Literal +/* NOLINTNEXTLINE(build/include) */ +#include "./block_encoder_inc.h" +#undef FN + +#define FN(X) X ## Command +/* NOLINTNEXTLINE(build/include) */ +#include "./block_encoder_inc.h" +#undef FN + +#define FN(X) X ## Distance +/* NOLINTNEXTLINE(build/include) */ +#include "./block_encoder_inc.h" +#undef FN + +static void JumpToByteBoundary(size_t* storage_ix, uint8_t* storage) { + *storage_ix = (*storage_ix + 7u) & ~7u; + storage[*storage_ix >> 3] = 0; +} + +void BrotliStoreMetaBlock(MemoryManager* m, + const uint8_t* input, + size_t start_pos, + size_t length, + size_t mask, + uint8_t prev_byte, + uint8_t prev_byte2, + BROTLI_BOOL is_last, + uint32_t num_direct_distance_codes, + uint32_t distance_postfix_bits, + ContextType literal_context_mode, + const Command *commands, + size_t n_commands, + const MetaBlockSplit* mb, + size_t *storage_ix, + uint8_t *storage) { + size_t pos = start_pos; + size_t i; + size_t num_distance_codes = + BROTLI_NUM_DISTANCE_SHORT_CODES + num_direct_distance_codes + + (48u << distance_postfix_bits); + HuffmanTree* tree; + BlockEncoder literal_enc; + BlockEncoder command_enc; + BlockEncoder distance_enc; + + StoreCompressedMetaBlockHeader(is_last, length, storage_ix, storage); + + tree = BROTLI_ALLOC(m, HuffmanTree, MAX_HUFFMAN_TREE_SIZE); + if (BROTLI_IS_OOM(m)) return; + InitBlockEncoder(&literal_enc, 256, mb->literal_split.num_types, + mb->literal_split.types, mb->literal_split.lengths, + mb->literal_split.num_blocks); + InitBlockEncoder(&command_enc, BROTLI_NUM_COMMAND_SYMBOLS, + mb->command_split.num_types, mb->command_split.types, + mb->command_split.lengths, mb->command_split.num_blocks); + InitBlockEncoder(&distance_enc, num_distance_codes, + mb->distance_split.num_types, mb->distance_split.types, + mb->distance_split.lengths, mb->distance_split.num_blocks); + + BuildAndStoreBlockSwitchEntropyCodes(&literal_enc, tree, storage_ix, storage); + BuildAndStoreBlockSwitchEntropyCodes(&command_enc, tree, storage_ix, storage); + BuildAndStoreBlockSwitchEntropyCodes( + &distance_enc, tree, storage_ix, storage); + + BrotliWriteBits(2, distance_postfix_bits, storage_ix, storage); + BrotliWriteBits(4, num_direct_distance_codes >> distance_postfix_bits, + storage_ix, storage); + for (i = 0; i < mb->literal_split.num_types; ++i) { + BrotliWriteBits(2, literal_context_mode, storage_ix, storage); + } + + if (mb->literal_context_map_size == 0) { + StoreTrivialContextMap(mb->literal_histograms_size, + BROTLI_LITERAL_CONTEXT_BITS, tree, storage_ix, storage); + } else { + EncodeContextMap(m, + mb->literal_context_map, mb->literal_context_map_size, + mb->literal_histograms_size, tree, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + } + + if (mb->distance_context_map_size == 0) { + StoreTrivialContextMap(mb->distance_histograms_size, + BROTLI_DISTANCE_CONTEXT_BITS, tree, storage_ix, storage); + } else { + EncodeContextMap(m, + mb->distance_context_map, mb->distance_context_map_size, + mb->distance_histograms_size, tree, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + } + + BuildAndStoreEntropyCodesLiteral(m, &literal_enc, mb->literal_histograms, + mb->literal_histograms_size, tree, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + BuildAndStoreEntropyCodesCommand(m, &command_enc, mb->command_histograms, + mb->command_histograms_size, tree, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + BuildAndStoreEntropyCodesDistance(m, &distance_enc, mb->distance_histograms, + mb->distance_histograms_size, tree, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + BROTLI_FREE(m, tree); + + for (i = 0; i < n_commands; ++i) { + const Command cmd = commands[i]; + size_t cmd_code = cmd.cmd_prefix_; + StoreSymbol(&command_enc, cmd_code, storage_ix, storage); + StoreCommandExtra(&cmd, storage_ix, storage); + if (mb->literal_context_map_size == 0) { + size_t j; + for (j = cmd.insert_len_; j != 0; --j) { + StoreSymbol(&literal_enc, input[pos & mask], storage_ix, storage); + ++pos; + } + } else { + size_t j; + for (j = cmd.insert_len_; j != 0; --j) { + size_t context = Context(prev_byte, prev_byte2, literal_context_mode); + uint8_t literal = input[pos & mask]; + StoreSymbolWithContext(&literal_enc, literal, context, + mb->literal_context_map, storage_ix, storage, + BROTLI_LITERAL_CONTEXT_BITS); + prev_byte2 = prev_byte; + prev_byte = literal; + ++pos; + } + } + pos += CommandCopyLen(&cmd); + if (CommandCopyLen(&cmd)) { + prev_byte2 = input[(pos - 2) & mask]; + prev_byte = input[(pos - 1) & mask]; + if (cmd.cmd_prefix_ >= 128) { + size_t dist_code = cmd.dist_prefix_; + uint32_t distnumextra = cmd.dist_extra_ >> 24; + uint64_t distextra = cmd.dist_extra_ & 0xffffff; + if (mb->distance_context_map_size == 0) { + StoreSymbol(&distance_enc, dist_code, storage_ix, storage); + } else { + size_t context = CommandDistanceContext(&cmd); + StoreSymbolWithContext(&distance_enc, dist_code, context, + mb->distance_context_map, storage_ix, storage, + BROTLI_DISTANCE_CONTEXT_BITS); + } + BrotliWriteBits(distnumextra, distextra, storage_ix, storage); + } + } + } + CleanupBlockEncoder(m, &distance_enc); + CleanupBlockEncoder(m, &command_enc); + CleanupBlockEncoder(m, &literal_enc); + if (is_last) { + JumpToByteBoundary(storage_ix, storage); + } +} + +static void BuildHistograms(const uint8_t* input, + size_t start_pos, + size_t mask, + const Command *commands, + size_t n_commands, + HistogramLiteral* lit_histo, + HistogramCommand* cmd_histo, + HistogramDistance* dist_histo) { + size_t pos = start_pos; + size_t i; + for (i = 0; i < n_commands; ++i) { + const Command cmd = commands[i]; + size_t j; + HistogramAddCommand(cmd_histo, cmd.cmd_prefix_); + for (j = cmd.insert_len_; j != 0; --j) { + HistogramAddLiteral(lit_histo, input[pos & mask]); + ++pos; + } + pos += CommandCopyLen(&cmd); + if (CommandCopyLen(&cmd) && cmd.cmd_prefix_ >= 128) { + HistogramAddDistance(dist_histo, cmd.dist_prefix_); + } + } +} + +static void StoreDataWithHuffmanCodes(const uint8_t* input, + size_t start_pos, + size_t mask, + const Command *commands, + size_t n_commands, + const uint8_t* lit_depth, + const uint16_t* lit_bits, + const uint8_t* cmd_depth, + const uint16_t* cmd_bits, + const uint8_t* dist_depth, + const uint16_t* dist_bits, + size_t* storage_ix, + uint8_t* storage) { + size_t pos = start_pos; + size_t i; + for (i = 0; i < n_commands; ++i) { + const Command cmd = commands[i]; + const size_t cmd_code = cmd.cmd_prefix_; + size_t j; + BrotliWriteBits( + cmd_depth[cmd_code], cmd_bits[cmd_code], storage_ix, storage); + StoreCommandExtra(&cmd, storage_ix, storage); + for (j = cmd.insert_len_; j != 0; --j) { + const uint8_t literal = input[pos & mask]; + BrotliWriteBits( + lit_depth[literal], lit_bits[literal], storage_ix, storage); + ++pos; + } + pos += CommandCopyLen(&cmd); + if (CommandCopyLen(&cmd) && cmd.cmd_prefix_ >= 128) { + const size_t dist_code = cmd.dist_prefix_; + const uint32_t distnumextra = cmd.dist_extra_ >> 24; + const uint32_t distextra = cmd.dist_extra_ & 0xffffff; + BrotliWriteBits(dist_depth[dist_code], dist_bits[dist_code], + storage_ix, storage); + BrotliWriteBits(distnumextra, distextra, storage_ix, storage); + } + } +} + +void BrotliStoreMetaBlockTrivial(MemoryManager* m, + const uint8_t* input, + size_t start_pos, + size_t length, + size_t mask, + BROTLI_BOOL is_last, + const Command *commands, + size_t n_commands, + size_t *storage_ix, + uint8_t *storage) { + HistogramLiteral lit_histo; + HistogramCommand cmd_histo; + HistogramDistance dist_histo; + uint8_t lit_depth[256]; + uint16_t lit_bits[256]; + uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS]; + uint16_t cmd_bits[BROTLI_NUM_COMMAND_SYMBOLS]; + uint8_t dist_depth[64]; + uint16_t dist_bits[64]; + HuffmanTree* tree; + + StoreCompressedMetaBlockHeader(is_last, length, storage_ix, storage); + + HistogramClearLiteral(&lit_histo); + HistogramClearCommand(&cmd_histo); + HistogramClearDistance(&dist_histo); + + BuildHistograms(input, start_pos, mask, commands, n_commands, + &lit_histo, &cmd_histo, &dist_histo); + + BrotliWriteBits(13, 0, storage_ix, storage); + + tree = BROTLI_ALLOC(m, HuffmanTree, MAX_HUFFMAN_TREE_SIZE); + if (BROTLI_IS_OOM(m)) return; + BuildAndStoreHuffmanTree(lit_histo.data_, 256, tree, + lit_depth, lit_bits, + storage_ix, storage); + BuildAndStoreHuffmanTree(cmd_histo.data_, BROTLI_NUM_COMMAND_SYMBOLS, tree, + cmd_depth, cmd_bits, + storage_ix, storage); + BuildAndStoreHuffmanTree(dist_histo.data_, 64, tree, + dist_depth, dist_bits, + storage_ix, storage); + BROTLI_FREE(m, tree); + StoreDataWithHuffmanCodes(input, start_pos, mask, commands, + n_commands, lit_depth, lit_bits, + cmd_depth, cmd_bits, + dist_depth, dist_bits, + storage_ix, storage); + if (is_last) { + JumpToByteBoundary(storage_ix, storage); + } +} + +void BrotliStoreMetaBlockFast(MemoryManager* m, + const uint8_t* input, + size_t start_pos, + size_t length, + size_t mask, + BROTLI_BOOL is_last, + const Command *commands, + size_t n_commands, + size_t *storage_ix, + uint8_t *storage) { + StoreCompressedMetaBlockHeader(is_last, length, storage_ix, storage); + + BrotliWriteBits(13, 0, storage_ix, storage); + + if (n_commands <= 128) { + uint32_t histogram[BROTLI_NUM_LITERAL_SYMBOLS] = { 0 }; + size_t pos = start_pos; + size_t num_literals = 0; + size_t i; + uint8_t lit_depth[BROTLI_NUM_LITERAL_SYMBOLS]; + uint16_t lit_bits[BROTLI_NUM_LITERAL_SYMBOLS]; + for (i = 0; i < n_commands; ++i) { + const Command cmd = commands[i]; + size_t j; + for (j = cmd.insert_len_; j != 0; --j) { + ++histogram[input[pos & mask]]; + ++pos; + } + num_literals += cmd.insert_len_; + pos += CommandCopyLen(&cmd); + } + BrotliBuildAndStoreHuffmanTreeFast(m, histogram, num_literals, + /* max_bits = */ 8, + lit_depth, lit_bits, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + StoreStaticCommandHuffmanTree(storage_ix, storage); + StoreStaticDistanceHuffmanTree(storage_ix, storage); + StoreDataWithHuffmanCodes(input, start_pos, mask, commands, + n_commands, lit_depth, lit_bits, + kStaticCommandCodeDepth, + kStaticCommandCodeBits, + kStaticDistanceCodeDepth, + kStaticDistanceCodeBits, + storage_ix, storage); + } else { + HistogramLiteral lit_histo; + HistogramCommand cmd_histo; + HistogramDistance dist_histo; + uint8_t lit_depth[BROTLI_NUM_LITERAL_SYMBOLS]; + uint16_t lit_bits[BROTLI_NUM_LITERAL_SYMBOLS]; + uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS]; + uint16_t cmd_bits[BROTLI_NUM_COMMAND_SYMBOLS]; + uint8_t dist_depth[64]; + uint16_t dist_bits[64]; + HistogramClearLiteral(&lit_histo); + HistogramClearCommand(&cmd_histo); + HistogramClearDistance(&dist_histo); + BuildHistograms(input, start_pos, mask, commands, n_commands, + &lit_histo, &cmd_histo, &dist_histo); + BrotliBuildAndStoreHuffmanTreeFast(m, lit_histo.data_, + lit_histo.total_count_, + /* max_bits = */ 8, + lit_depth, lit_bits, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + BrotliBuildAndStoreHuffmanTreeFast(m, cmd_histo.data_, + cmd_histo.total_count_, + /* max_bits = */ 10, + cmd_depth, cmd_bits, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + BrotliBuildAndStoreHuffmanTreeFast(m, dist_histo.data_, + dist_histo.total_count_, + /* max_bits = */ 6, + dist_depth, dist_bits, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + StoreDataWithHuffmanCodes(input, start_pos, mask, commands, + n_commands, lit_depth, lit_bits, + cmd_depth, cmd_bits, + dist_depth, dist_bits, + storage_ix, storage); + } + + if (is_last) { + JumpToByteBoundary(storage_ix, storage); + } +} + +/* This is for storing uncompressed blocks (simple raw storage of + bytes-as-bytes). */ +void BrotliStoreUncompressedMetaBlock(BROTLI_BOOL is_final_block, + const uint8_t * BROTLI_RESTRICT input, + size_t position, size_t mask, + size_t len, + size_t * BROTLI_RESTRICT storage_ix, + uint8_t * BROTLI_RESTRICT storage) { + size_t masked_pos = position & mask; + BrotliStoreUncompressedMetaBlockHeader(len, storage_ix, storage); + JumpToByteBoundary(storage_ix, storage); + + if (masked_pos + len > mask + 1) { + size_t len1 = mask + 1 - masked_pos; + memcpy(&storage[*storage_ix >> 3], &input[masked_pos], len1); + *storage_ix += len1 << 3; + len -= len1; + masked_pos = 0; + } + memcpy(&storage[*storage_ix >> 3], &input[masked_pos], len); + *storage_ix += len << 3; + + /* We need to clear the next 4 bytes to continue to be + compatible with BrotliWriteBits. */ + BrotliWriteBitsPrepareStorage(*storage_ix, storage); + + /* Since the uncompressed block itself may not be the final block, add an + empty one after this. */ + if (is_final_block) { + BrotliWriteBits(1, 1, storage_ix, storage); /* islast */ + BrotliWriteBits(1, 1, storage_ix, storage); /* isempty */ + JumpToByteBoundary(storage_ix, storage); + } +} + +void BrotliStoreSyncMetaBlock(size_t* BROTLI_RESTRICT storage_ix, + uint8_t* BROTLI_RESTRICT storage) { + /* Empty metadata meta-block bit pattern: + 1 bit: is_last (0) + 2 bits: num nibbles (3) + 1 bit: reserved (0) + 2 bits: metadata length bytes (0) */ + BrotliWriteBits(6, 6, storage_ix, storage); + JumpToByteBoundary(storage_ix, storage); +} + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h b/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h new file mode 100644 index 000000000000..6f6a00c5c5c2 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h @@ -0,0 +1,107 @@ +/* Copyright 2014 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions to convert brotli-related data structures into the + brotli bit stream. The functions here operate under + assumption that there is enough space in the storage, i.e., there are + no out-of-range checks anywhere. + + These functions do bit addressing into a byte array. The byte array + is called "storage" and the index to the bit is called storage_ix + in function arguments. */ + +#ifndef BROTLI_ENC_BROTLI_BIT_STREAM_H_ +#define BROTLI_ENC_BROTLI_BIT_STREAM_H_ + +#include "../common/types.h" +#include "./command.h" +#include "./context.h" +#include "./entropy_encode.h" +#include "./memory.h" +#include "./metablock.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* All Store functions here will use a storage_ix, which is always the bit + position for the current storage. */ + +BROTLI_INTERNAL void BrotliStoreHuffmanTree(const uint8_t* depths, size_t num, + HuffmanTree* tree, size_t *storage_ix, uint8_t *storage); + +BROTLI_INTERNAL void BrotliBuildAndStoreHuffmanTreeFast( + MemoryManager* m, const uint32_t* histogram, const size_t histogram_total, + const size_t max_bits, uint8_t* depth, uint16_t* bits, size_t* storage_ix, + uint8_t* storage); + +/* REQUIRES: length > 0 */ +/* REQUIRES: length <= (1 << 24) */ +BROTLI_INTERNAL void BrotliStoreMetaBlock(MemoryManager* m, + const uint8_t* input, + size_t start_pos, + size_t length, + size_t mask, + uint8_t prev_byte, + uint8_t prev_byte2, + BROTLI_BOOL is_final_block, + uint32_t num_direct_distance_codes, + uint32_t distance_postfix_bits, + ContextType literal_context_mode, + const Command* commands, + size_t n_commands, + const MetaBlockSplit* mb, + size_t* storage_ix, + uint8_t* storage); + +/* Stores the meta-block without doing any block splitting, just collects + one histogram per block category and uses that for entropy coding. + REQUIRES: length > 0 + REQUIRES: length <= (1 << 24) */ +BROTLI_INTERNAL void BrotliStoreMetaBlockTrivial(MemoryManager* m, + const uint8_t* input, + size_t start_pos, + size_t length, + size_t mask, + BROTLI_BOOL is_last, + const Command *commands, + size_t n_commands, + size_t* storage_ix, + uint8_t* storage); + +/* Same as above, but uses static prefix codes for histograms with a only a few + symbols, and uses static code length prefix codes for all other histograms. + REQUIRES: length > 0 + REQUIRES: length <= (1 << 24) */ +BROTLI_INTERNAL void BrotliStoreMetaBlockFast(MemoryManager* m, + const uint8_t* input, + size_t start_pos, + size_t length, + size_t mask, + BROTLI_BOOL is_last, + const Command *commands, + size_t n_commands, + size_t* storage_ix, + uint8_t* storage); + +/* This is for storing uncompressed blocks (simple raw storage of + bytes-as-bytes). + REQUIRES: length > 0 + REQUIRES: length <= (1 << 24) */ +BROTLI_INTERNAL void BrotliStoreUncompressedMetaBlock( + BROTLI_BOOL is_final_block, const uint8_t* input, size_t position, + size_t mask, size_t len, size_t* storage_ix, uint8_t* storage); + +/* Stores an empty metadata meta-block and syncs to a byte boundary. */ +BROTLI_INTERNAL void BrotliStoreSyncMetaBlock(size_t* storage_ix, + uint8_t* storage); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_BROTLI_BIT_STREAM_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/cluster.c b/BaseTools/Source/C/BrotliCompress/enc/cluster.c new file mode 100644 index 000000000000..46cdda54cb98 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/cluster.c @@ -0,0 +1,56 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions for clustering similar histograms together. */ + +#include "./cluster.h" + +#include "../common/types.h" +#include "./bit_cost.h" /* BrotliPopulationCost */ +#include "./fast_log.h" +#include "./histogram.h" +#include "./memory.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static BROTLI_INLINE BROTLI_BOOL HistogramPairIsLess( + const HistogramPair* p1, const HistogramPair* p2) { + if (p1->cost_diff != p2->cost_diff) { + return TO_BROTLI_BOOL(p1->cost_diff > p2->cost_diff); + } + return TO_BROTLI_BOOL((p1->idx2 - p1->idx1) > (p2->idx2 - p2->idx1)); +} + +/* Returns entropy reduction of the context map when we combine two clusters. */ +static BROTLI_INLINE double ClusterCostDiff(size_t size_a, size_t size_b) { + size_t size_c = size_a + size_b; + return (double)size_a * FastLog2(size_a) + + (double)size_b * FastLog2(size_b) - + (double)size_c * FastLog2(size_c); +} + +#define CODE(X) X + +#define FN(X) X ## Literal +#include "./cluster_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Command +#include "./cluster_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Distance +#include "./cluster_inc.h" /* NOLINT(build/include) */ +#undef FN + +#undef CODE + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/cluster.h b/BaseTools/Source/C/BrotliCompress/enc/cluster.h new file mode 100644 index 000000000000..048660ea98d6 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/cluster.h @@ -0,0 +1,48 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions for clustering similar histograms together. */ + +#ifndef BROTLI_ENC_CLUSTER_H_ +#define BROTLI_ENC_CLUSTER_H_ + +#include "../common/types.h" +#include "./histogram.h" +#include "./memory.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef struct HistogramPair { + uint32_t idx1; + uint32_t idx2; + double cost_combo; + double cost_diff; +} HistogramPair; + +#define CODE(X) /* Declaration */; + +#define FN(X) X ## Literal +#include "./cluster_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Command +#include "./cluster_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Distance +#include "./cluster_inc.h" /* NOLINT(build/include) */ +#undef FN + +#undef CODE + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_CLUSTER_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h b/BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h new file mode 100644 index 000000000000..c4689c46bcee --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h @@ -0,0 +1,315 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN, CODE */ + +#define HistogramType FN(Histogram) + +/* Computes the bit cost reduction by combining out[idx1] and out[idx2] and if + it is below a threshold, stores the pair (idx1, idx2) in the *pairs queue. */ +BROTLI_INTERNAL void FN(BrotliCompareAndPushToQueue)( + const HistogramType* out, const uint32_t* cluster_size, uint32_t idx1, + uint32_t idx2, size_t max_num_pairs, HistogramPair* pairs, + size_t* num_pairs) CODE({ + BROTLI_BOOL is_good_pair = BROTLI_FALSE; + HistogramPair p; + if (idx1 == idx2) { + return; + } + if (idx2 < idx1) { + uint32_t t = idx2; + idx2 = idx1; + idx1 = t; + } + p.idx1 = idx1; + p.idx2 = idx2; + p.cost_diff = 0.5 * ClusterCostDiff(cluster_size[idx1], cluster_size[idx2]); + p.cost_diff -= out[idx1].bit_cost_; + p.cost_diff -= out[idx2].bit_cost_; + + if (out[idx1].total_count_ == 0) { + p.cost_combo = out[idx2].bit_cost_; + is_good_pair = BROTLI_TRUE; + } else if (out[idx2].total_count_ == 0) { + p.cost_combo = out[idx1].bit_cost_; + is_good_pair = BROTLI_TRUE; + } else { + double threshold = *num_pairs == 0 ? 1e99 : + BROTLI_MAX(double, 0.0, pairs[0].cost_diff); + HistogramType combo = out[idx1]; + double cost_combo; + FN(HistogramAddHistogram)(&combo, &out[idx2]); + cost_combo = FN(BrotliPopulationCost)(&combo); + if (cost_combo < threshold - p.cost_diff) { + p.cost_combo = cost_combo; + is_good_pair = BROTLI_TRUE; + } + } + if (is_good_pair) { + p.cost_diff += p.cost_combo; + if (*num_pairs > 0 && HistogramPairIsLess(&pairs[0], &p)) { + /* Replace the top of the queue if needed. */ + if (*num_pairs < max_num_pairs) { + pairs[*num_pairs] = pairs[0]; + ++(*num_pairs); + } + pairs[0] = p; + } else if (*num_pairs < max_num_pairs) { + pairs[*num_pairs] = p; + ++(*num_pairs); + } + } +}) + +BROTLI_INTERNAL size_t FN(BrotliHistogramCombine)(HistogramType* out, + uint32_t* cluster_size, + uint32_t* symbols, + uint32_t* clusters, + HistogramPair* pairs, + size_t num_clusters, + size_t symbols_size, + size_t max_clusters, + size_t max_num_pairs) CODE({ + double cost_diff_threshold = 0.0; + size_t min_cluster_size = 1; + size_t num_pairs = 0; + + { + /* We maintain a vector of histogram pairs, with the property that the pair + with the maximum bit cost reduction is the first. */ + size_t idx1; + for (idx1 = 0; idx1 < num_clusters; ++idx1) { + size_t idx2; + for (idx2 = idx1 + 1; idx2 < num_clusters; ++idx2) { + FN(BrotliCompareAndPushToQueue)(out, cluster_size, clusters[idx1], + clusters[idx2], max_num_pairs, &pairs[0], &num_pairs); + } + } + } + + while (num_clusters > min_cluster_size) { + uint32_t best_idx1; + uint32_t best_idx2; + size_t i; + if (pairs[0].cost_diff >= cost_diff_threshold) { + cost_diff_threshold = 1e99; + min_cluster_size = max_clusters; + continue; + } + /* Take the best pair from the top of heap. */ + best_idx1 = pairs[0].idx1; + best_idx2 = pairs[0].idx2; + FN(HistogramAddHistogram)(&out[best_idx1], &out[best_idx2]); + out[best_idx1].bit_cost_ = pairs[0].cost_combo; + cluster_size[best_idx1] += cluster_size[best_idx2]; + for (i = 0; i < symbols_size; ++i) { + if (symbols[i] == best_idx2) { + symbols[i] = best_idx1; + } + } + for (i = 0; i < num_clusters; ++i) { + if (clusters[i] == best_idx2) { + memmove(&clusters[i], &clusters[i + 1], + (num_clusters - i - 1) * sizeof(clusters[0])); + break; + } + } + --num_clusters; + { + /* Remove pairs intersecting the just combined best pair. */ + size_t copy_to_idx = 0; + for (i = 0; i < num_pairs; ++i) { + HistogramPair* p = &pairs[i]; + if (p->idx1 == best_idx1 || p->idx2 == best_idx1 || + p->idx1 == best_idx2 || p->idx2 == best_idx2) { + /* Remove invalid pair from the queue. */ + continue; + } + if (HistogramPairIsLess(&pairs[0], p)) { + /* Replace the top of the queue if needed. */ + HistogramPair front = pairs[0]; + pairs[0] = *p; + pairs[copy_to_idx] = front; + } else { + pairs[copy_to_idx] = *p; + } + ++copy_to_idx; + } + num_pairs = copy_to_idx; + } + + /* Push new pairs formed with the combined histogram to the heap. */ + for (i = 0; i < num_clusters; ++i) { + FN(BrotliCompareAndPushToQueue)(out, cluster_size, best_idx1, clusters[i], + max_num_pairs, &pairs[0], &num_pairs); + } + } + return num_clusters; +}) + +/* What is the bit cost of moving histogram from cur_symbol to candidate. */ +BROTLI_INTERNAL double FN(BrotliHistogramBitCostDistance)( + const HistogramType* histogram, const HistogramType* candidate) CODE({ + if (histogram->total_count_ == 0) { + return 0.0; + } else { + HistogramType tmp = *histogram; + FN(HistogramAddHistogram)(&tmp, candidate); + return FN(BrotliPopulationCost)(&tmp) - candidate->bit_cost_; + } +}) + +/* Find the best 'out' histogram for each of the 'in' histograms. + When called, clusters[0..num_clusters) contains the unique values from + symbols[0..in_size), but this property is not preserved in this function. + Note: we assume that out[]->bit_cost_ is already up-to-date. */ +BROTLI_INTERNAL void FN(BrotliHistogramRemap)(const HistogramType* in, + size_t in_size, const uint32_t* clusters, size_t num_clusters, + HistogramType* out, uint32_t* symbols) CODE({ + size_t i; + for (i = 0; i < in_size; ++i) { + uint32_t best_out = i == 0 ? symbols[0] : symbols[i - 1]; + double best_bits = + FN(BrotliHistogramBitCostDistance)(&in[i], &out[best_out]); + size_t j; + for (j = 0; j < num_clusters; ++j) { + const double cur_bits = + FN(BrotliHistogramBitCostDistance)(&in[i], &out[clusters[j]]); + if (cur_bits < best_bits) { + best_bits = cur_bits; + best_out = clusters[j]; + } + } + symbols[i] = best_out; + } + + /* Recompute each out based on raw and symbols. */ + for (i = 0; i < num_clusters; ++i) { + FN(HistogramClear)(&out[clusters[i]]); + } + for (i = 0; i < in_size; ++i) { + FN(HistogramAddHistogram)(&out[symbols[i]], &in[i]); + } +}) + +/* Reorders elements of the out[0..length) array and changes values in + symbols[0..length) array in the following way: + * when called, symbols[] contains indexes into out[], and has N unique + values (possibly N < length) + * on return, symbols'[i] = f(symbols[i]) and + out'[symbols'[i]] = out[symbols[i]], for each 0 <= i < length, + where f is a bijection between the range of symbols[] and [0..N), and + the first occurrences of values in symbols'[i] come in consecutive + increasing order. + Returns N, the number of unique values in symbols[]. */ +BROTLI_INTERNAL size_t FN(BrotliHistogramReindex)(MemoryManager* m, + HistogramType* out, uint32_t* symbols, size_t length) CODE({ + static const uint32_t kInvalidIndex = BROTLI_UINT32_MAX; + uint32_t* new_index = BROTLI_ALLOC(m, uint32_t, length); + uint32_t next_index; + HistogramType* tmp; + size_t i; + if (BROTLI_IS_OOM(m)) return 0; + for (i = 0; i < length; ++i) { + new_index[i] = kInvalidIndex; + } + next_index = 0; + for (i = 0; i < length; ++i) { + if (new_index[symbols[i]] == kInvalidIndex) { + new_index[symbols[i]] = next_index; + ++next_index; + } + } + /* TODO: by using idea of "cycle-sort" we can avoid allocation of + tmp and reduce the number of copying by the factor of 2. */ + tmp = BROTLI_ALLOC(m, HistogramType, next_index); + if (BROTLI_IS_OOM(m)) return 0; + next_index = 0; + for (i = 0; i < length; ++i) { + if (new_index[symbols[i]] == next_index) { + tmp[next_index] = out[symbols[i]]; + ++next_index; + } + symbols[i] = new_index[symbols[i]]; + } + BROTLI_FREE(m, new_index); + for (i = 0; i < next_index; ++i) { + out[i] = tmp[i]; + } + BROTLI_FREE(m, tmp); + return next_index; +}) + +BROTLI_INTERNAL void FN(BrotliClusterHistograms)( + MemoryManager* m, const HistogramType* in, const size_t in_size, + size_t max_histograms, HistogramType* out, size_t* out_size, + uint32_t* histogram_symbols) CODE({ + uint32_t* cluster_size = BROTLI_ALLOC(m, uint32_t, in_size); + uint32_t* clusters = BROTLI_ALLOC(m, uint32_t, in_size); + size_t num_clusters = 0; + const size_t max_input_histograms = 64; + size_t pairs_capacity = max_input_histograms * max_input_histograms / 2; + /* For the first pass of clustering, we allow all pairs. */ + HistogramPair* pairs = BROTLI_ALLOC(m, HistogramPair, pairs_capacity + 1); + size_t i; + + if (BROTLI_IS_OOM(m)) return; + + for (i = 0; i < in_size; ++i) { + cluster_size[i] = 1; + } + + for (i = 0; i < in_size; ++i) { + out[i] = in[i]; + out[i].bit_cost_ = FN(BrotliPopulationCost)(&in[i]); + histogram_symbols[i] = (uint32_t)i; + } + + for (i = 0; i < in_size; i += max_input_histograms) { + size_t num_to_combine = + BROTLI_MIN(size_t, in_size - i, max_input_histograms); + size_t num_new_clusters; + size_t j; + for (j = 0; j < num_to_combine; ++j) { + clusters[num_clusters + j] = (uint32_t)(i + j); + } + num_new_clusters = + FN(BrotliHistogramCombine)(out, cluster_size, + &histogram_symbols[i], + &clusters[num_clusters], pairs, + num_to_combine, num_to_combine, + max_histograms, pairs_capacity); + num_clusters += num_new_clusters; + } + + { + /* For the second pass, we limit the total number of histogram pairs. + After this limit is reached, we only keep searching for the best pair. */ + size_t max_num_pairs = BROTLI_MIN(size_t, + 64 * num_clusters, (num_clusters / 2) * num_clusters); + BROTLI_ENSURE_CAPACITY( + m, HistogramPair, pairs, pairs_capacity, max_num_pairs + 1); + if (BROTLI_IS_OOM(m)) return; + + /* Collapse similar histograms. */ + num_clusters = FN(BrotliHistogramCombine)(out, cluster_size, + histogram_symbols, clusters, + pairs, num_clusters, in_size, + max_histograms, max_num_pairs); + } + BROTLI_FREE(m, pairs); + BROTLI_FREE(m, cluster_size); + /* Find the optimal map from original histograms to the final ones. */ + FN(BrotliHistogramRemap)(in, in_size, clusters, num_clusters, + out, histogram_symbols); + BROTLI_FREE(m, clusters); + /* Convert the context map to a canonical form. */ + *out_size = FN(BrotliHistogramReindex)(m, out, histogram_symbols, in_size); + if (BROTLI_IS_OOM(m)) return; +}) + +#undef HistogramType diff --git a/BaseTools/Source/C/BrotliCompress/enc/command.h b/BaseTools/Source/C/BrotliCompress/enc/command.h new file mode 100644 index 000000000000..d12f87ed149e --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/command.h @@ -0,0 +1,163 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* This class models a sequence of literals and a backward reference copy. */ + +#ifndef BROTLI_ENC_COMMAND_H_ +#define BROTLI_ENC_COMMAND_H_ + +#include "../common/types.h" +#include "../common/port.h" +#include "./fast_log.h" +#include "./prefix.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static uint32_t kInsBase[] = { 0, 1, 2, 3, 4, 5, 6, 8, 10, 14, 18, 26, 34, 50, + 66, 98, 130, 194, 322, 578, 1090, 2114, 6210, 22594 }; +static uint32_t kInsExtra[] = { 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, + 5, 5, 6, 7, 8, 9, 10, 12, 14, 24 }; +static uint32_t kCopyBase[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 18, 22, 30, + 38, 54, 70, 102, 134, 198, 326, 582, 1094, 2118 }; +static uint32_t kCopyExtra[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, + 4, 4, 5, 5, 6, 7, 8, 9, 10, 24 }; + +static BROTLI_INLINE uint16_t GetInsertLengthCode(size_t insertlen) { + if (insertlen < 6) { + return (uint16_t)insertlen; + } else if (insertlen < 130) { + uint32_t nbits = Log2FloorNonZero(insertlen - 2) - 1u; + return (uint16_t)((nbits << 1) + ((insertlen - 2) >> nbits) + 2); + } else if (insertlen < 2114) { + return (uint16_t)(Log2FloorNonZero(insertlen - 66) + 10); + } else if (insertlen < 6210) { + return 21u; + } else if (insertlen < 22594) { + return 22u; + } else { + return 23u; + } +} + +static BROTLI_INLINE uint16_t GetCopyLengthCode(size_t copylen) { + if (copylen < 10) { + return (uint16_t)(copylen - 2); + } else if (copylen < 134) { + uint32_t nbits = Log2FloorNonZero(copylen - 6) - 1u; + return (uint16_t)((nbits << 1) + ((copylen - 6) >> nbits) + 4); + } else if (copylen < 2118) { + return (uint16_t)(Log2FloorNonZero(copylen - 70) + 12); + } else { + return 23u; + } +} + +static BROTLI_INLINE uint16_t CombineLengthCodes( + uint16_t inscode, uint16_t copycode, BROTLI_BOOL use_last_distance) { + uint16_t bits64 = + (uint16_t)((copycode & 0x7u) | ((inscode & 0x7u) << 3)); + if (use_last_distance && inscode < 8 && copycode < 16) { + return (copycode < 8) ? bits64 : (bits64 | 64); + } else { + /* "To convert an insert-and-copy length code to an insert length code and + a copy length code, the following table can be used" */ + static const uint16_t cells[9] = { 128u, 192u, 384u, 256u, 320u, 512u, + 448u, 576u, 640u }; + return cells[(copycode >> 3) + 3 * (inscode >> 3)] | bits64; + } +} + +static BROTLI_INLINE void GetLengthCode(size_t insertlen, size_t copylen, + BROTLI_BOOL use_last_distance, + uint16_t* code) { + uint16_t inscode = GetInsertLengthCode(insertlen); + uint16_t copycode = GetCopyLengthCode(copylen); + *code = CombineLengthCodes(inscode, copycode, use_last_distance); +} + +static BROTLI_INLINE uint32_t GetInsertBase(uint16_t inscode) { + return kInsBase[inscode]; +} + +static BROTLI_INLINE uint32_t GetInsertExtra(uint16_t inscode) { + return kInsExtra[inscode]; +} + +static BROTLI_INLINE uint32_t GetCopyBase(uint16_t copycode) { + return kCopyBase[copycode]; +} + +static BROTLI_INLINE uint32_t GetCopyExtra(uint16_t copycode) { + return kCopyExtra[copycode]; +} + +typedef struct Command { + uint32_t insert_len_; + /* Stores copy_len in low 24 bits and copy_len XOR copy_code in high 8 bit. */ + uint32_t copy_len_; + uint32_t dist_extra_; + uint16_t cmd_prefix_; + uint16_t dist_prefix_; +} Command; + +/* distance_code is e.g. 0 for same-as-last short code, or 16 for offset 1. */ +static BROTLI_INLINE void InitCommand(Command* self, size_t insertlen, + size_t copylen, size_t copylen_code, size_t distance_code) { + self->insert_len_ = (uint32_t)insertlen; + self->copy_len_ = (uint32_t)(copylen | ((copylen_code ^ copylen) << 24)); + /* The distance prefix and extra bits are stored in this Command as if + npostfix and ndirect were 0, they are only recomputed later after the + clustering if needed. */ + PrefixEncodeCopyDistance( + distance_code, 0, 0, &self->dist_prefix_, &self->dist_extra_); + GetLengthCode( + insertlen, copylen_code, TO_BROTLI_BOOL(self->dist_prefix_ == 0), + &self->cmd_prefix_); +} + +static BROTLI_INLINE void InitInsertCommand(Command* self, size_t insertlen) { + self->insert_len_ = (uint32_t)insertlen; + self->copy_len_ = 4 << 24; + self->dist_extra_ = 0; + self->dist_prefix_ = 16; + GetLengthCode(insertlen, 4, BROTLI_FALSE, &self->cmd_prefix_); +} + +static BROTLI_INLINE uint32_t CommandDistanceCode(const Command* self) { + if (self->dist_prefix_ < 16) { + return self->dist_prefix_; + } else { + uint32_t nbits = self->dist_extra_ >> 24; + uint32_t extra = self->dist_extra_ & 0xffffff; + uint32_t prefix = self->dist_prefix_ - 12u - 2u * nbits; + return (prefix << nbits) + extra + 12; + } +} + +static BROTLI_INLINE uint32_t CommandDistanceContext(const Command* self) { + uint32_t r = self->cmd_prefix_ >> 6; + uint32_t c = self->cmd_prefix_ & 7; + if ((r == 0 || r == 2 || r == 4 || r == 7) && (c <= 2)) { + return c; + } + return 3; +} + +static BROTLI_INLINE uint32_t CommandCopyLen(const Command* self) { + return self->copy_len_ & 0xFFFFFF; +} + +static BROTLI_INLINE uint32_t CommandCopyLenCode(const Command* self) { + return (self->copy_len_ & 0xFFFFFF) ^ (self->copy_len_ >> 24); +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_COMMAND_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c new file mode 100644 index 000000000000..ef1480be4e39 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c @@ -0,0 +1,747 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Function for fast encoding of an input fragment, independently from the input + history. This function uses one-pass processing: when we find a backward + match, we immediately emit the corresponding command and literal codes to + the bit stream. + + Adapted from the CompressFragment() function in + https://github.com/google/snappy/blob/master/snappy.cc */ + +#include "./compress_fragment.h" + +#include /* memcmp, memcpy, memset */ + +#include "../common/types.h" +#include "./brotli_bit_stream.h" +#include "./entropy_encode.h" +#include "./fast_log.h" +#include "./find_match_length.h" +#include "./memory.h" +#include "./port.h" +#include "./write_bits.h" + + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* kHashMul32 multiplier has these properties: + * The multiplier must be odd. Otherwise we may lose the highest bit. + * No long streaks of 1s or 0s. + * There is no effort to ensure that it is a prime, the oddity is enough + for this use. + * The number has been tuned heuristically against compression benchmarks. */ +static const uint32_t kHashMul32 = 0x1e35a7bd; + +static BROTLI_INLINE uint32_t Hash(const uint8_t* p, size_t shift) { + const uint64_t h = (BROTLI_UNALIGNED_LOAD64(p) << 24) * kHashMul32; + return (uint32_t)(h >> shift); +} + +static BROTLI_INLINE uint32_t HashBytesAtOffset( + uint64_t v, int offset, size_t shift) { + assert(offset >= 0); + assert(offset <= 3); + { + const uint64_t h = ((v >> (8 * offset)) << 24) * kHashMul32; + return (uint32_t)(h >> shift); + } +} + +static BROTLI_INLINE BROTLI_BOOL IsMatch(const uint8_t* p1, const uint8_t* p2) { + return TO_BROTLI_BOOL( + BROTLI_UNALIGNED_LOAD32(p1) == BROTLI_UNALIGNED_LOAD32(p2) && + p1[4] == p2[4]); +} + +/* Builds a literal prefix code into "depths" and "bits" based on the statistics + of the "input" string and stores it into the bit stream. + Note that the prefix code here is built from the pre-LZ77 input, therefore + we can only approximate the statistics of the actual literal stream. + Moreover, for long inputs we build a histogram from a sample of the input + and thus have to assign a non-zero depth for each literal. + Returns estimated compression ratio millibytes/char for encoding given input + with generated code. */ +static size_t BuildAndStoreLiteralPrefixCode(MemoryManager* m, + const uint8_t* input, + const size_t input_size, + uint8_t depths[256], + uint16_t bits[256], + size_t* storage_ix, + uint8_t* storage) { + uint32_t histogram[256] = { 0 }; + size_t histogram_total; + size_t i; + if (input_size < (1 << 15)) { + for (i = 0; i < input_size; ++i) { + ++histogram[input[i]]; + } + histogram_total = input_size; + for (i = 0; i < 256; ++i) { + /* We weigh the first 11 samples with weight 3 to account for the + balancing effect of the LZ77 phase on the histogram. */ + const uint32_t adjust = 2 * BROTLI_MIN(uint32_t, histogram[i], 11u); + histogram[i] += adjust; + histogram_total += adjust; + } + } else { + static const size_t kSampleRate = 29; + for (i = 0; i < input_size; i += kSampleRate) { + ++histogram[input[i]]; + } + histogram_total = (input_size + kSampleRate - 1) / kSampleRate; + for (i = 0; i < 256; ++i) { + /* We add 1 to each population count to avoid 0 bit depths (since this is + only a sample and we don't know if the symbol appears or not), and we + weigh the first 11 samples with weight 3 to account for the balancing + effect of the LZ77 phase on the histogram (more frequent symbols are + more likely to be in backward references instead as literals). */ + const uint32_t adjust = 1 + 2 * BROTLI_MIN(uint32_t, histogram[i], 11u); + histogram[i] += adjust; + histogram_total += adjust; + } + } + BrotliBuildAndStoreHuffmanTreeFast(m, histogram, histogram_total, + /* max_bits = */ 8, + depths, bits, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return 0; + { + size_t literal_ratio = 0; + for (i = 0; i < 256; ++i) { + if (histogram[i]) literal_ratio += histogram[i] * depths[i]; + } + /* Estimated encoding ratio, millibytes per symbol. */ + return (literal_ratio * 125) / histogram_total; + } +} + +/* Builds a command and distance prefix code (each 64 symbols) into "depth" and + "bits" based on "histogram" and stores it into the bit stream. */ +static void BuildAndStoreCommandPrefixCode(const uint32_t histogram[128], + uint8_t depth[128], uint16_t bits[128], size_t* storage_ix, + uint8_t* storage) { + /* Tree size for building a tree over 64 symbols is 2 * 64 + 1. */ + HuffmanTree tree[129]; + uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS] = { 0 }; + uint16_t cmd_bits[64]; + + BrotliCreateHuffmanTree(histogram, 64, 15, tree, depth); + BrotliCreateHuffmanTree(&histogram[64], 64, 14, tree, &depth[64]); + /* We have to jump through a few hoopes here in order to compute + the command bits because the symbols are in a different order than in + the full alphabet. This looks complicated, but having the symbols + in this order in the command bits saves a few branches in the Emit* + functions. */ + memcpy(cmd_depth, depth, 24); + memcpy(cmd_depth + 24, depth + 40, 8); + memcpy(cmd_depth + 32, depth + 24, 8); + memcpy(cmd_depth + 40, depth + 48, 8); + memcpy(cmd_depth + 48, depth + 32, 8); + memcpy(cmd_depth + 56, depth + 56, 8); + BrotliConvertBitDepthsToSymbols(cmd_depth, 64, cmd_bits); + memcpy(bits, cmd_bits, 48); + memcpy(bits + 24, cmd_bits + 32, 16); + memcpy(bits + 32, cmd_bits + 48, 16); + memcpy(bits + 40, cmd_bits + 24, 16); + memcpy(bits + 48, cmd_bits + 40, 16); + memcpy(bits + 56, cmd_bits + 56, 16); + BrotliConvertBitDepthsToSymbols(&depth[64], 64, &bits[64]); + { + /* Create the bit length array for the full command alphabet. */ + size_t i; + memset(cmd_depth, 0, 64); /* only 64 first values were used */ + memcpy(cmd_depth, depth, 8); + memcpy(cmd_depth + 64, depth + 8, 8); + memcpy(cmd_depth + 128, depth + 16, 8); + memcpy(cmd_depth + 192, depth + 24, 8); + memcpy(cmd_depth + 384, depth + 32, 8); + for (i = 0; i < 8; ++i) { + cmd_depth[128 + 8 * i] = depth[40 + i]; + cmd_depth[256 + 8 * i] = depth[48 + i]; + cmd_depth[448 + 8 * i] = depth[56 + i]; + } + BrotliStoreHuffmanTree( + cmd_depth, BROTLI_NUM_COMMAND_SYMBOLS, tree, storage_ix, storage); + } + BrotliStoreHuffmanTree(&depth[64], 64, tree, storage_ix, storage); +} + +/* REQUIRES: insertlen < 6210 */ +static BROTLI_INLINE void EmitInsertLen(size_t insertlen, + const uint8_t depth[128], + const uint16_t bits[128], + uint32_t histo[128], + size_t* storage_ix, + uint8_t* storage) { + if (insertlen < 6) { + const size_t code = insertlen + 40; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + ++histo[code]; + } else if (insertlen < 130) { + const size_t tail = insertlen - 2; + const uint32_t nbits = Log2FloorNonZero(tail) - 1u; + const size_t prefix = tail >> nbits; + const size_t inscode = (nbits << 1) + prefix + 42; + BrotliWriteBits(depth[inscode], bits[inscode], storage_ix, storage); + BrotliWriteBits(nbits, tail - (prefix << nbits), storage_ix, storage); + ++histo[inscode]; + } else if (insertlen < 2114) { + const size_t tail = insertlen - 66; + const uint32_t nbits = Log2FloorNonZero(tail); + const size_t code = nbits + 50; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + BrotliWriteBits(nbits, tail - ((size_t)1 << nbits), storage_ix, storage); + ++histo[code]; + } else { + BrotliWriteBits(depth[61], bits[61], storage_ix, storage); + BrotliWriteBits(12, insertlen - 2114, storage_ix, storage); + ++histo[21]; + } +} + +static BROTLI_INLINE void EmitLongInsertLen(size_t insertlen, + const uint8_t depth[128], + const uint16_t bits[128], + uint32_t histo[128], + size_t* storage_ix, + uint8_t* storage) { + if (insertlen < 22594) { + BrotliWriteBits(depth[62], bits[62], storage_ix, storage); + BrotliWriteBits(14, insertlen - 6210, storage_ix, storage); + ++histo[22]; + } else { + BrotliWriteBits(depth[63], bits[63], storage_ix, storage); + BrotliWriteBits(24, insertlen - 22594, storage_ix, storage); + ++histo[23]; + } +} + +static BROTLI_INLINE void EmitCopyLen(size_t copylen, + const uint8_t depth[128], + const uint16_t bits[128], + uint32_t histo[128], + size_t* storage_ix, + uint8_t* storage) { + if (copylen < 10) { + BrotliWriteBits( + depth[copylen + 14], bits[copylen + 14], storage_ix, storage); + ++histo[copylen + 14]; + } else if (copylen < 134) { + const size_t tail = copylen - 6; + const uint32_t nbits = Log2FloorNonZero(tail) - 1u; + const size_t prefix = tail >> nbits; + const size_t code = (nbits << 1) + prefix + 20; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + BrotliWriteBits(nbits, tail - (prefix << nbits), storage_ix, storage); + ++histo[code]; + } else if (copylen < 2118) { + const size_t tail = copylen - 70; + const uint32_t nbits = Log2FloorNonZero(tail); + const size_t code = nbits + 28; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + BrotliWriteBits(nbits, tail - ((size_t)1 << nbits), storage_ix, storage); + ++histo[code]; + } else { + BrotliWriteBits(depth[39], bits[39], storage_ix, storage); + BrotliWriteBits(24, copylen - 2118, storage_ix, storage); + ++histo[47]; + } +} + +static BROTLI_INLINE void EmitCopyLenLastDistance(size_t copylen, + const uint8_t depth[128], + const uint16_t bits[128], + uint32_t histo[128], + size_t* storage_ix, + uint8_t* storage) { + if (copylen < 12) { + BrotliWriteBits(depth[copylen - 4], bits[copylen - 4], storage_ix, storage); + ++histo[copylen - 4]; + } else if (copylen < 72) { + const size_t tail = copylen - 8; + const uint32_t nbits = Log2FloorNonZero(tail) - 1; + const size_t prefix = tail >> nbits; + const size_t code = (nbits << 1) + prefix + 4; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + BrotliWriteBits(nbits, tail - (prefix << nbits), storage_ix, storage); + ++histo[code]; + } else if (copylen < 136) { + const size_t tail = copylen - 8; + const size_t code = (tail >> 5) + 30; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + BrotliWriteBits(5, tail & 31, storage_ix, storage); + BrotliWriteBits(depth[64], bits[64], storage_ix, storage); + ++histo[code]; + ++histo[64]; + } else if (copylen < 2120) { + const size_t tail = copylen - 72; + const uint32_t nbits = Log2FloorNonZero(tail); + const size_t code = nbits + 28; + BrotliWriteBits(depth[code], bits[code], storage_ix, storage); + BrotliWriteBits(nbits, tail - ((size_t)1 << nbits), storage_ix, storage); + BrotliWriteBits(depth[64], bits[64], storage_ix, storage); + ++histo[code]; + ++histo[64]; + } else { + BrotliWriteBits(depth[39], bits[39], storage_ix, storage); + BrotliWriteBits(24, copylen - 2120, storage_ix, storage); + BrotliWriteBits(depth[64], bits[64], storage_ix, storage); + ++histo[47]; + ++histo[64]; + } +} + +static BROTLI_INLINE void EmitDistance(size_t distance, + const uint8_t depth[128], + const uint16_t bits[128], + uint32_t histo[128], + size_t* storage_ix, uint8_t* storage) { + const size_t d = distance + 3; + const uint32_t nbits = Log2FloorNonZero(d) - 1u; + const size_t prefix = (d >> nbits) & 1; + const size_t offset = (2 + prefix) << nbits; + const size_t distcode = 2 * (nbits - 1) + prefix + 80; + BrotliWriteBits(depth[distcode], bits[distcode], storage_ix, storage); + BrotliWriteBits(nbits, d - offset, storage_ix, storage); + ++histo[distcode]; +} + +static BROTLI_INLINE void EmitLiterals(const uint8_t* input, const size_t len, + const uint8_t depth[256], + const uint16_t bits[256], + size_t* storage_ix, uint8_t* storage) { + size_t j; + for (j = 0; j < len; j++) { + const uint8_t lit = input[j]; + BrotliWriteBits(depth[lit], bits[lit], storage_ix, storage); + } +} + +/* REQUIRES: len <= 1 << 20. */ +static void BrotliStoreMetaBlockHeader( + size_t len, BROTLI_BOOL is_uncompressed, size_t* storage_ix, + uint8_t* storage) { + /* ISLAST */ + BrotliWriteBits(1, 0, storage_ix, storage); + if (len <= (1U << 16)) { + /* MNIBBLES is 4 */ + BrotliWriteBits(2, 0, storage_ix, storage); + BrotliWriteBits(16, len - 1, storage_ix, storage); + } else { + /* MNIBBLES is 5 */ + BrotliWriteBits(2, 1, storage_ix, storage); + BrotliWriteBits(20, len - 1, storage_ix, storage); + } + /* ISUNCOMPRESSED */ + BrotliWriteBits(1, (uint64_t)is_uncompressed, storage_ix, storage); +} + +static void UpdateBits(size_t n_bits, uint32_t bits, size_t pos, + uint8_t *array) { + while (n_bits > 0) { + size_t byte_pos = pos >> 3; + size_t n_unchanged_bits = pos & 7; + size_t n_changed_bits = BROTLI_MIN(size_t, n_bits, 8 - n_unchanged_bits); + size_t total_bits = n_unchanged_bits + n_changed_bits; + uint32_t mask = + (~((1u << total_bits) - 1u)) | ((1u << n_unchanged_bits) - 1u); + uint32_t unchanged_bits = array[byte_pos] & mask; + uint32_t changed_bits = bits & ((1u << n_changed_bits) - 1u); + array[byte_pos] = + (uint8_t)((changed_bits << n_unchanged_bits) | unchanged_bits); + n_bits -= n_changed_bits; + bits >>= n_changed_bits; + pos += n_changed_bits; + } +} + +static void RewindBitPosition(const size_t new_storage_ix, + size_t* storage_ix, uint8_t* storage) { + const size_t bitpos = new_storage_ix & 7; + const size_t mask = (1u << bitpos) - 1; + storage[new_storage_ix >> 3] &= (uint8_t)mask; + *storage_ix = new_storage_ix; +} + +static BROTLI_BOOL ShouldMergeBlock( + const uint8_t* data, size_t len, const uint8_t* depths) { + size_t histo[256] = { 0 }; + static const size_t kSampleRate = 43; + size_t i; + for (i = 0; i < len; i += kSampleRate) { + ++histo[data[i]]; + } + { + const size_t total = (len + kSampleRate - 1) / kSampleRate; + double r = (FastLog2(total) + 0.5) * (double)total + 200; + for (i = 0; i < 256; ++i) { + r -= (double)histo[i] * (depths[i] + FastLog2(histo[i])); + } + return TO_BROTLI_BOOL(r >= 0.0); + } +} + +/* Acceptable loss for uncompressible speedup is 2% */ +#define MIN_RATIO 980 + +static BROTLI_INLINE BROTLI_BOOL ShouldUseUncompressedMode( + const uint8_t* metablock_start, const uint8_t* next_emit, + const size_t insertlen, const size_t literal_ratio) { + const size_t compressed = (size_t)(next_emit - metablock_start); + if (compressed * 50 > insertlen) { + return BROTLI_FALSE; + } else { + return TO_BROTLI_BOOL(literal_ratio > MIN_RATIO); + } +} + +static void EmitUncompressedMetaBlock(const uint8_t* begin, const uint8_t* end, + const size_t storage_ix_start, + size_t* storage_ix, uint8_t* storage) { + const size_t len = (size_t)(end - begin); + RewindBitPosition(storage_ix_start, storage_ix, storage); + BrotliStoreMetaBlockHeader(len, 1, storage_ix, storage); + *storage_ix = (*storage_ix + 7u) & ~7u; + memcpy(&storage[*storage_ix >> 3], begin, len); + *storage_ix += len << 3; + storage[*storage_ix >> 3] = 0; +} + +static uint32_t kCmdHistoSeed[128] = { + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 0, 0, +}; + +void BrotliCompressFragmentFast(MemoryManager* m, + const uint8_t* input, size_t input_size, + BROTLI_BOOL is_last, + int* table, size_t table_size, + uint8_t cmd_depth[128], uint16_t cmd_bits[128], + size_t* cmd_code_numbits, uint8_t* cmd_code, + size_t* storage_ix, uint8_t* storage) { + uint32_t cmd_histo[128]; + const uint8_t* ip_end; + + /* "next_emit" is a pointer to the first byte that is not covered by a + previous copy. Bytes between "next_emit" and the start of the next copy or + the end of the input will be emitted as literal bytes. */ + const uint8_t* next_emit = input; + /* Save the start of the first block for position and distance computations. + */ + const uint8_t* base_ip = input; + + static const size_t kFirstBlockSize = 3 << 15; + static const size_t kMergeBlockSize = 1 << 16; + + const size_t kInputMarginBytes = 16; + const size_t kMinMatchLen = 5; + + const uint8_t* metablock_start = input; + size_t block_size = BROTLI_MIN(size_t, input_size, kFirstBlockSize); + size_t total_block_size = block_size; + /* Save the bit position of the MLEN field of the meta-block header, so that + we can update it later if we decide to extend this meta-block. */ + size_t mlen_storage_ix = *storage_ix + 3; + + uint8_t lit_depth[256]; + uint16_t lit_bits[256]; + + size_t literal_ratio; + + const uint8_t* ip; + int last_distance; + + const size_t shift = 64u - Log2FloorNonZero(table_size); + assert(table_size); + assert(table_size <= (1u << 31)); + /* table must be power of two */ + assert((table_size & (table_size - 1)) == 0); + assert(table_size - 1 == + (size_t)(MAKE_UINT64_T(0xFFFFFFFF, 0xFFFFFF) >> shift)); + + if (input_size == 0) { + assert(is_last); + BrotliWriteBits(1, 1, storage_ix, storage); /* islast */ + BrotliWriteBits(1, 1, storage_ix, storage); /* isempty */ + *storage_ix = (*storage_ix + 7u) & ~7u; + return; + } + + BrotliStoreMetaBlockHeader(block_size, 0, storage_ix, storage); + /* No block splits, no contexts. */ + BrotliWriteBits(13, 0, storage_ix, storage); + + literal_ratio = BuildAndStoreLiteralPrefixCode( + m, input, block_size, lit_depth, lit_bits, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + + { + /* Store the pre-compressed command and distance prefix codes. */ + size_t i; + for (i = 0; i + 7 < *cmd_code_numbits; i += 8) { + BrotliWriteBits(8, cmd_code[i >> 3], storage_ix, storage); + } + } + BrotliWriteBits(*cmd_code_numbits & 7, cmd_code[*cmd_code_numbits >> 3], + storage_ix, storage); + + emit_commands: + /* Initialize the command and distance histograms. We will gather + statistics of command and distance codes during the processing + of this block and use it to update the command and distance + prefix codes for the next block. */ + memcpy(cmd_histo, kCmdHistoSeed, sizeof(kCmdHistoSeed)); + + /* "ip" is the input pointer. */ + ip = input; + last_distance = -1; + ip_end = input + block_size; + + if (PREDICT_TRUE(block_size >= kInputMarginBytes)) { + /* For the last block, we need to keep a 16 bytes margin so that we can be + sure that all distances are at most window size - 16. + For all other blocks, we only need to keep a margin of 5 bytes so that + we don't go over the block size with a copy. */ + const size_t len_limit = BROTLI_MIN(size_t, block_size - kMinMatchLen, + input_size - kInputMarginBytes); + const uint8_t* ip_limit = input + len_limit; + + uint32_t next_hash; + for (next_hash = Hash(++ip, shift); ; ) { + /* Step 1: Scan forward in the input looking for a 5-byte-long match. + If we get close to exhausting the input then goto emit_remainder. + + Heuristic match skipping: If 32 bytes are scanned with no matches + found, start looking only at every other byte. If 32 more bytes are + scanned, look at every third byte, etc.. When a match is found, + immediately go back to looking at every byte. This is a small loss + (~5% performance, ~0.1% density) for compressible data due to more + bookkeeping, but for non-compressible data (such as JPEG) it's a huge + win since the compressor quickly "realizes" the data is incompressible + and doesn't bother looking for matches everywhere. + + The "skip" variable keeps track of how many bytes there are since the + last match; dividing it by 32 (ie. right-shifting by five) gives the + number of bytes to move ahead for each iteration. */ + uint32_t skip = 32; + + const uint8_t* next_ip = ip; + const uint8_t* candidate; + assert(next_emit < ip); + + do { + uint32_t hash = next_hash; + uint32_t bytes_between_hash_lookups = skip++ >> 5; + assert(hash == Hash(next_ip, shift)); + ip = next_ip; + next_ip = ip + bytes_between_hash_lookups; + if (PREDICT_FALSE(next_ip > ip_limit)) { + goto emit_remainder; + } + next_hash = Hash(next_ip, shift); + candidate = ip - last_distance; + if (IsMatch(ip, candidate)) { + if (PREDICT_TRUE(candidate < ip)) { + table[hash] = (int)(ip - base_ip); + break; + } + } + candidate = base_ip + table[hash]; + assert(candidate >= base_ip); + assert(candidate < ip); + + table[hash] = (int)(ip - base_ip); + } while (PREDICT_TRUE(!IsMatch(ip, candidate))); + + /* Step 2: Emit the found match together with the literal bytes from + "next_emit" to the bit stream, and then see if we can find a next macth + immediately afterwards. Repeat until we find no match for the input + without emitting some literal bytes. */ + + { + /* We have a 5-byte match at ip, and we need to emit bytes in + [next_emit, ip). */ + const uint8_t* base = ip; + size_t matched = 5 + FindMatchLengthWithLimit( + candidate + 5, ip + 5, (size_t)(ip_end - ip) - 5); + int distance = (int)(base - candidate); /* > 0 */ + size_t insert = (size_t)(base - next_emit); + ip += matched; + assert(0 == memcmp(base, candidate, matched)); + if (PREDICT_TRUE(insert < 6210)) { + EmitInsertLen(insert, cmd_depth, cmd_bits, cmd_histo, + storage_ix, storage); + } else if (ShouldUseUncompressedMode(metablock_start, next_emit, insert, + literal_ratio)) { + EmitUncompressedMetaBlock(metablock_start, base, mlen_storage_ix - 3, + storage_ix, storage); + input_size -= (size_t)(base - input); + input = base; + next_emit = input; + goto next_block; + } else { + EmitLongInsertLen(insert, cmd_depth, cmd_bits, cmd_histo, + storage_ix, storage); + } + EmitLiterals(next_emit, insert, lit_depth, lit_bits, + storage_ix, storage); + if (distance == last_distance) { + BrotliWriteBits(cmd_depth[64], cmd_bits[64], storage_ix, storage); + ++cmd_histo[64]; + } else { + EmitDistance((size_t)distance, cmd_depth, cmd_bits, + cmd_histo, storage_ix, storage); + last_distance = distance; + } + EmitCopyLenLastDistance(matched, cmd_depth, cmd_bits, cmd_histo, + storage_ix, storage); + + next_emit = ip; + if (PREDICT_FALSE(ip >= ip_limit)) { + goto emit_remainder; + } + /* We could immediately start working at ip now, but to improve + compression we first update "table" with the hashes of some positions + within the last copy. */ + { + uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 3); + uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift); + uint32_t cur_hash = HashBytesAtOffset(input_bytes, 3, shift); + table[prev_hash] = (int)(ip - base_ip - 3); + prev_hash = HashBytesAtOffset(input_bytes, 1, shift); + table[prev_hash] = (int)(ip - base_ip - 2); + prev_hash = HashBytesAtOffset(input_bytes, 2, shift); + table[prev_hash] = (int)(ip - base_ip - 1); + + candidate = base_ip + table[cur_hash]; + table[cur_hash] = (int)(ip - base_ip); + } + } + + while (IsMatch(ip, candidate)) { + /* We have a 5-byte match at ip, and no need to emit any literal bytes + prior to ip. */ + const uint8_t* base = ip; + size_t matched = 5 + FindMatchLengthWithLimit( + candidate + 5, ip + 5, (size_t)(ip_end - ip) - 5); + ip += matched; + last_distance = (int)(base - candidate); /* > 0 */ + assert(0 == memcmp(base, candidate, matched)); + EmitCopyLen(matched, cmd_depth, cmd_bits, cmd_histo, + storage_ix, storage); + EmitDistance((size_t)last_distance, cmd_depth, cmd_bits, + cmd_histo, storage_ix, storage); + + next_emit = ip; + if (PREDICT_FALSE(ip >= ip_limit)) { + goto emit_remainder; + } + /* We could immediately start working at ip now, but to improve + compression we first update "table" with the hashes of some positions + within the last copy. */ + { + uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 3); + uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift); + uint32_t cur_hash = HashBytesAtOffset(input_bytes, 3, shift); + table[prev_hash] = (int)(ip - base_ip - 3); + prev_hash = HashBytesAtOffset(input_bytes, 1, shift); + table[prev_hash] = (int)(ip - base_ip - 2); + prev_hash = HashBytesAtOffset(input_bytes, 2, shift); + table[prev_hash] = (int)(ip - base_ip - 1); + + candidate = base_ip + table[cur_hash]; + table[cur_hash] = (int)(ip - base_ip); + } + } + + next_hash = Hash(++ip, shift); + } + } + + emit_remainder: + assert(next_emit <= ip_end); + input += block_size; + input_size -= block_size; + block_size = BROTLI_MIN(size_t, input_size, kMergeBlockSize); + + /* Decide if we want to continue this meta-block instead of emitting the + last insert-only command. */ + if (input_size > 0 && + total_block_size + block_size <= (1 << 20) && + ShouldMergeBlock(input, block_size, lit_depth)) { + assert(total_block_size > (1 << 16)); + /* Update the size of the current meta-block and continue emitting commands. + We can do this because the current size and the new size both have 5 + nibbles. */ + total_block_size += block_size; + UpdateBits(20, (uint32_t)(total_block_size - 1), mlen_storage_ix, storage); + goto emit_commands; + } + + /* Emit the remaining bytes as literals. */ + if (next_emit < ip_end) { + const size_t insert = (size_t)(ip_end - next_emit); + if (PREDICT_TRUE(insert < 6210)) { + EmitInsertLen(insert, cmd_depth, cmd_bits, cmd_histo, + storage_ix, storage); + EmitLiterals(next_emit, insert, lit_depth, lit_bits, storage_ix, storage); + } else if (ShouldUseUncompressedMode(metablock_start, next_emit, insert, + literal_ratio)) { + EmitUncompressedMetaBlock(metablock_start, ip_end, mlen_storage_ix - 3, + storage_ix, storage); + } else { + EmitLongInsertLen(insert, cmd_depth, cmd_bits, cmd_histo, + storage_ix, storage); + EmitLiterals(next_emit, insert, lit_depth, lit_bits, + storage_ix, storage); + } + } + next_emit = ip_end; + +next_block: + /* If we have more data, write a new meta-block header and prefix codes and + then continue emitting commands. */ + if (input_size > 0) { + metablock_start = input; + block_size = BROTLI_MIN(size_t, input_size, kFirstBlockSize); + total_block_size = block_size; + /* Save the bit position of the MLEN field of the meta-block header, so that + we can update it later if we decide to extend this meta-block. */ + mlen_storage_ix = *storage_ix + 3; + BrotliStoreMetaBlockHeader(block_size, 0, storage_ix, storage); + /* No block splits, no contexts. */ + BrotliWriteBits(13, 0, storage_ix, storage); + literal_ratio = BuildAndStoreLiteralPrefixCode( + m, input, block_size, lit_depth, lit_bits, storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + BuildAndStoreCommandPrefixCode(cmd_histo, cmd_depth, cmd_bits, + storage_ix, storage); + goto emit_commands; + } + + if (is_last) { + BrotliWriteBits(1, 1, storage_ix, storage); /* islast */ + BrotliWriteBits(1, 1, storage_ix, storage); /* isempty */ + *storage_ix = (*storage_ix + 7u) & ~7u; + } else { + /* If this is not the last block, update the command and distance prefix + codes for the next block and store the compressed forms. */ + cmd_code[0] = 0; + *cmd_code_numbits = 0; + BuildAndStoreCommandPrefixCode(cmd_histo, cmd_depth, cmd_bits, + cmd_code_numbits, cmd_code); + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h new file mode 100644 index 000000000000..6bd7e11f7969 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h @@ -0,0 +1,58 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Function for fast encoding of an input fragment, independently from the input + history. This function uses one-pass processing: when we find a backward + match, we immediately emit the corresponding command and literal codes to + the bit stream. */ + +#ifndef BROTLI_ENC_COMPRESS_FRAGMENT_H_ +#define BROTLI_ENC_COMPRESS_FRAGMENT_H_ + +#include "../common/types.h" +#include "./memory.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* Compresses "input" string to the "*storage" buffer as one or more complete + meta-blocks, and updates the "*storage_ix" bit position. + + If "is_last" is 1, emits an additional empty last meta-block. + + "cmd_depth" and "cmd_bits" contain the command and distance prefix codes + (see comment in encode.h) used for the encoding of this input fragment. + If "is_last" is 0, they are updated to reflect the statistics + of this input fragment, to be used for the encoding of the next fragment. + + "*cmd_code_numbits" is the number of bits of the compressed representation + of the command and distance prefix codes, and "cmd_code" is an array of + at least "(*cmd_code_numbits + 7) >> 3" size that contains the compressed + command and distance prefix codes. If "is_last" is 0, these are also + updated to represent the updated "cmd_depth" and "cmd_bits". + + REQUIRES: "input_size" is greater than zero, or "is_last" is 1. + REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero. + REQUIRES: "table_size" is a power of two */ +BROTLI_INTERNAL void BrotliCompressFragmentFast(MemoryManager* m, + const uint8_t* input, + size_t input_size, + BROTLI_BOOL is_last, + int* table, size_t table_size, + uint8_t cmd_depth[128], + uint16_t cmd_bits[128], + size_t* cmd_code_numbits, + uint8_t* cmd_code, + size_t* storage_ix, + uint8_t* storage); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_COMPRESS_FRAGMENT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c new file mode 100644 index 000000000000..ea2395878cfa --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c @@ -0,0 +1,557 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Function for fast encoding of an input fragment, independently from the input + history. This function uses two-pass processing: in the first pass we save + the found backward matches and literal bytes into a buffer, and in the + second pass we emit them into the bit stream using prefix codes built based + on the actual command and literal byte histograms. */ + +#include "./compress_fragment_two_pass.h" + +#include /* memcmp, memcpy, memset */ + +#include "../common/types.h" +#include "./bit_cost.h" +#include "./brotli_bit_stream.h" +#include "./entropy_encode.h" +#include "./fast_log.h" +#include "./find_match_length.h" +#include "./memory.h" +#include "./port.h" +#include "./write_bits.h" + + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* kHashMul32 multiplier has these properties: + * The multiplier must be odd. Otherwise we may lose the highest bit. + * No long streaks of 1s or 0s. + * There is no effort to ensure that it is a prime, the oddity is enough + for this use. + * The number has been tuned heuristically against compression benchmarks. */ +static const uint32_t kHashMul32 = 0x1e35a7bd; + +static BROTLI_INLINE uint32_t Hash(const uint8_t* p, size_t shift) { + const uint64_t h = (BROTLI_UNALIGNED_LOAD64(p) << 16) * kHashMul32; + return (uint32_t)(h >> shift); +} + +static BROTLI_INLINE uint32_t HashBytesAtOffset( + uint64_t v, int offset, size_t shift) { + assert(offset >= 0); + assert(offset <= 2); + { + const uint64_t h = ((v >> (8 * offset)) << 16) * kHashMul32; + return (uint32_t)(h >> shift); + } +} + +static BROTLI_INLINE BROTLI_BOOL IsMatch(const uint8_t* p1, const uint8_t* p2) { + return TO_BROTLI_BOOL( + BROTLI_UNALIGNED_LOAD32(p1) == BROTLI_UNALIGNED_LOAD32(p2) && + p1[4] == p2[4] && + p1[5] == p2[5]); +} + +/* Builds a command and distance prefix code (each 64 symbols) into "depth" and + "bits" based on "histogram" and stores it into the bit stream. */ +static void BuildAndStoreCommandPrefixCode( + const uint32_t histogram[128], + uint8_t depth[128], uint16_t bits[128], + size_t* storage_ix, uint8_t* storage) { + /* Tree size for building a tree over 64 symbols is 2 * 64 + 1. */ + HuffmanTree tree[129]; + uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS] = { 0 }; + uint16_t cmd_bits[64]; + BrotliCreateHuffmanTree(histogram, 64, 15, tree, depth); + BrotliCreateHuffmanTree(&histogram[64], 64, 14, tree, &depth[64]); + /* We have to jump through a few hoopes here in order to compute + the command bits because the symbols are in a different order than in + the full alphabet. This looks complicated, but having the symbols + in this order in the command bits saves a few branches in the Emit* + functions. */ + memcpy(cmd_depth, depth + 24, 24); + memcpy(cmd_depth + 24, depth, 8); + memcpy(cmd_depth + 32, depth + 48, 8); + memcpy(cmd_depth + 40, depth + 8, 8); + memcpy(cmd_depth + 48, depth + 56, 8); + memcpy(cmd_depth + 56, depth + 16, 8); + BrotliConvertBitDepthsToSymbols(cmd_depth, 64, cmd_bits); + memcpy(bits, cmd_bits + 24, 16); + memcpy(bits + 8, cmd_bits + 40, 16); + memcpy(bits + 16, cmd_bits + 56, 16); + memcpy(bits + 24, cmd_bits, 48); + memcpy(bits + 48, cmd_bits + 32, 16); + memcpy(bits + 56, cmd_bits + 48, 16); + BrotliConvertBitDepthsToSymbols(&depth[64], 64, &bits[64]); + { + /* Create the bit length array for the full command alphabet. */ + size_t i; + memset(cmd_depth, 0, 64); /* only 64 first values were used */ + memcpy(cmd_depth, depth + 24, 8); + memcpy(cmd_depth + 64, depth + 32, 8); + memcpy(cmd_depth + 128, depth + 40, 8); + memcpy(cmd_depth + 192, depth + 48, 8); + memcpy(cmd_depth + 384, depth + 56, 8); + for (i = 0; i < 8; ++i) { + cmd_depth[128 + 8 * i] = depth[i]; + cmd_depth[256 + 8 * i] = depth[8 + i]; + cmd_depth[448 + 8 * i] = depth[16 + i]; + } + BrotliStoreHuffmanTree( + cmd_depth, BROTLI_NUM_COMMAND_SYMBOLS, tree, storage_ix, storage); + } + BrotliStoreHuffmanTree(&depth[64], 64, tree, storage_ix, storage); +} + +static BROTLI_INLINE void EmitInsertLen( + uint32_t insertlen, uint32_t** commands) { + if (insertlen < 6) { + **commands = insertlen; + } else if (insertlen < 130) { + const uint32_t tail = insertlen - 2; + const uint32_t nbits = Log2FloorNonZero(tail) - 1u; + const uint32_t prefix = tail >> nbits; + const uint32_t inscode = (nbits << 1) + prefix + 2; + const uint32_t extra = tail - (prefix << nbits); + **commands = inscode | (extra << 8); + } else if (insertlen < 2114) { + const uint32_t tail = insertlen - 66; + const uint32_t nbits = Log2FloorNonZero(tail); + const uint32_t code = nbits + 10; + const uint32_t extra = tail - (1u << nbits); + **commands = code | (extra << 8); + } else if (insertlen < 6210) { + const uint32_t extra = insertlen - 2114; + **commands = 21 | (extra << 8); + } else if (insertlen < 22594) { + const uint32_t extra = insertlen - 6210; + **commands = 22 | (extra << 8); + } else { + const uint32_t extra = insertlen - 22594; + **commands = 23 | (extra << 8); + } + ++(*commands); +} + +static BROTLI_INLINE void EmitCopyLen(size_t copylen, uint32_t** commands) { + if (copylen < 10) { + **commands = (uint32_t)(copylen + 38); + } else if (copylen < 134) { + const size_t tail = copylen - 6; + const size_t nbits = Log2FloorNonZero(tail) - 1; + const size_t prefix = tail >> nbits; + const size_t code = (nbits << 1) + prefix + 44; + const size_t extra = tail - (prefix << nbits); + **commands = (uint32_t)(code | (extra << 8)); + } else if (copylen < 2118) { + const size_t tail = copylen - 70; + const size_t nbits = Log2FloorNonZero(tail); + const size_t code = nbits + 52; + const size_t extra = tail - ((size_t)1 << nbits); + **commands = (uint32_t)(code | (extra << 8)); + } else { + const size_t extra = copylen - 2118; + **commands = (uint32_t)(63 | (extra << 8)); + } + ++(*commands); +} + +static BROTLI_INLINE void EmitCopyLenLastDistance( + size_t copylen, uint32_t** commands) { + if (copylen < 12) { + **commands = (uint32_t)(copylen + 20); + ++(*commands); + } else if (copylen < 72) { + const size_t tail = copylen - 8; + const size_t nbits = Log2FloorNonZero(tail) - 1; + const size_t prefix = tail >> nbits; + const size_t code = (nbits << 1) + prefix + 28; + const size_t extra = tail - (prefix << nbits); + **commands = (uint32_t)(code | (extra << 8)); + ++(*commands); + } else if (copylen < 136) { + const size_t tail = copylen - 8; + const size_t code = (tail >> 5) + 54; + const size_t extra = tail & 31; + **commands = (uint32_t)(code | (extra << 8)); + ++(*commands); + **commands = 64; + ++(*commands); + } else if (copylen < 2120) { + const size_t tail = copylen - 72; + const size_t nbits = Log2FloorNonZero(tail); + const size_t code = nbits + 52; + const size_t extra = tail - ((size_t)1 << nbits); + **commands = (uint32_t)(code | (extra << 8)); + ++(*commands); + **commands = 64; + ++(*commands); + } else { + const size_t extra = copylen - 2120; + **commands = (uint32_t)(63 | (extra << 8)); + ++(*commands); + **commands = 64; + ++(*commands); + } +} + +static BROTLI_INLINE void EmitDistance(uint32_t distance, uint32_t** commands) { + uint32_t d = distance + 3; + uint32_t nbits = Log2FloorNonZero(d) - 1; + const uint32_t prefix = (d >> nbits) & 1; + const uint32_t offset = (2 + prefix) << nbits; + const uint32_t distcode = 2 * (nbits - 1) + prefix + 80; + uint32_t extra = d - offset; + **commands = distcode | (extra << 8); + ++(*commands); +} + +/* REQUIRES: len <= 1 << 20. */ +static void BrotliStoreMetaBlockHeader( + size_t len, BROTLI_BOOL is_uncompressed, size_t* storage_ix, + uint8_t* storage) { + /* ISLAST */ + BrotliWriteBits(1, 0, storage_ix, storage); + if (len <= (1U << 16)) { + /* MNIBBLES is 4 */ + BrotliWriteBits(2, 0, storage_ix, storage); + BrotliWriteBits(16, len - 1, storage_ix, storage); + } else { + /* MNIBBLES is 5 */ + BrotliWriteBits(2, 1, storage_ix, storage); + BrotliWriteBits(20, len - 1, storage_ix, storage); + } + /* ISUNCOMPRESSED */ + BrotliWriteBits(1, (uint64_t)is_uncompressed, storage_ix, storage); +} + +static void CreateCommands(const uint8_t* input, size_t block_size, + size_t input_size, const uint8_t* base_ip, int* table, size_t table_size, + uint8_t** literals, uint32_t** commands) { + /* "ip" is the input pointer. */ + const uint8_t* ip = input; + const size_t shift = 64u - Log2FloorNonZero(table_size); + const uint8_t* ip_end = input + block_size; + /* "next_emit" is a pointer to the first byte that is not covered by a + previous copy. Bytes between "next_emit" and the start of the next copy or + the end of the input will be emitted as literal bytes. */ + const uint8_t* next_emit = input; + + int last_distance = -1; + const size_t kInputMarginBytes = 16; + const size_t kMinMatchLen = 6; + + assert(table_size); + assert(table_size <= (1u << 31)); + /* table must be power of two */ + assert((table_size & (table_size - 1)) == 0); + assert(table_size - 1 == + (size_t)(MAKE_UINT64_T(0xFFFFFFFF, 0xFFFFFF) >> shift)); + + if (PREDICT_TRUE(block_size >= kInputMarginBytes)) { + /* For the last block, we need to keep a 16 bytes margin so that we can be + sure that all distances are at most window size - 16. + For all other blocks, we only need to keep a margin of 5 bytes so that + we don't go over the block size with a copy. */ + const size_t len_limit = BROTLI_MIN(size_t, block_size - kMinMatchLen, + input_size - kInputMarginBytes); + const uint8_t* ip_limit = input + len_limit; + + uint32_t next_hash; + for (next_hash = Hash(++ip, shift); ; ) { + /* Step 1: Scan forward in the input looking for a 6-byte-long match. + If we get close to exhausting the input then goto emit_remainder. + + Heuristic match skipping: If 32 bytes are scanned with no matches + found, start looking only at every other byte. If 32 more bytes are + scanned, look at every third byte, etc.. When a match is found, + immediately go back to looking at every byte. This is a small loss + (~5% performance, ~0.1% density) for compressible data due to more + bookkeeping, but for non-compressible data (such as JPEG) it's a huge + win since the compressor quickly "realizes" the data is incompressible + and doesn't bother looking for matches everywhere. + + The "skip" variable keeps track of how many bytes there are since the + last match; dividing it by 32 (ie. right-shifting by five) gives the + number of bytes to move ahead for each iteration. */ + uint32_t skip = 32; + + const uint8_t* next_ip = ip; + const uint8_t* candidate; + + assert(next_emit < ip); + + do { + uint32_t hash = next_hash; + uint32_t bytes_between_hash_lookups = skip++ >> 5; + ip = next_ip; + assert(hash == Hash(ip, shift)); + next_ip = ip + bytes_between_hash_lookups; + if (PREDICT_FALSE(next_ip > ip_limit)) { + goto emit_remainder; + } + next_hash = Hash(next_ip, shift); + candidate = ip - last_distance; + if (IsMatch(ip, candidate)) { + if (PREDICT_TRUE(candidate < ip)) { + table[hash] = (int)(ip - base_ip); + break; + } + } + candidate = base_ip + table[hash]; + assert(candidate >= base_ip); + assert(candidate < ip); + + table[hash] = (int)(ip - base_ip); + } while (PREDICT_TRUE(!IsMatch(ip, candidate))); + + /* Step 2: Emit the found match together with the literal bytes from + "next_emit", and then see if we can find a next macth immediately + afterwards. Repeat until we find no match for the input + without emitting some literal bytes. */ + + { + /* We have a 6-byte match at ip, and we need to emit bytes in + [next_emit, ip). */ + const uint8_t* base = ip; + size_t matched = 6 + FindMatchLengthWithLimit( + candidate + 6, ip + 6, (size_t)(ip_end - ip) - 6); + int distance = (int)(base - candidate); /* > 0 */ + int insert = (int)(base - next_emit); + ip += matched; + assert(0 == memcmp(base, candidate, matched)); + EmitInsertLen((uint32_t)insert, commands); + memcpy(*literals, next_emit, (size_t)insert); + *literals += insert; + if (distance == last_distance) { + **commands = 64; + ++(*commands); + } else { + EmitDistance((uint32_t)distance, commands); + last_distance = distance; + } + EmitCopyLenLastDistance(matched, commands); + + next_emit = ip; + if (PREDICT_FALSE(ip >= ip_limit)) { + goto emit_remainder; + } + { + /* We could immediately start working at ip now, but to improve + compression we first update "table" with the hashes of some + positions within the last copy. */ + uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 5); + uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift); + uint32_t cur_hash; + table[prev_hash] = (int)(ip - base_ip - 5); + prev_hash = HashBytesAtOffset(input_bytes, 1, shift); + table[prev_hash] = (int)(ip - base_ip - 4); + prev_hash = HashBytesAtOffset(input_bytes, 2, shift); + table[prev_hash] = (int)(ip - base_ip - 3); + input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 2); + cur_hash = HashBytesAtOffset(input_bytes, 2, shift); + prev_hash = HashBytesAtOffset(input_bytes, 0, shift); + table[prev_hash] = (int)(ip - base_ip - 2); + prev_hash = HashBytesAtOffset(input_bytes, 1, shift); + table[prev_hash] = (int)(ip - base_ip - 1); + + candidate = base_ip + table[cur_hash]; + table[cur_hash] = (int)(ip - base_ip); + } + } + + while (IsMatch(ip, candidate)) { + /* We have a 6-byte match at ip, and no need to emit any + literal bytes prior to ip. */ + const uint8_t* base = ip; + size_t matched = 6 + FindMatchLengthWithLimit( + candidate + 6, ip + 6, (size_t)(ip_end - ip) - 6); + ip += matched; + last_distance = (int)(base - candidate); /* > 0 */ + assert(0 == memcmp(base, candidate, matched)); + EmitCopyLen(matched, commands); + EmitDistance((uint32_t)last_distance, commands); + + next_emit = ip; + if (PREDICT_FALSE(ip >= ip_limit)) { + goto emit_remainder; + } + { + /* We could immediately start working at ip now, but to improve + compression we first update "table" with the hashes of some + positions within the last copy. */ + uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 5); + uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift); + uint32_t cur_hash; + table[prev_hash] = (int)(ip - base_ip - 5); + prev_hash = HashBytesAtOffset(input_bytes, 1, shift); + table[prev_hash] = (int)(ip - base_ip - 4); + prev_hash = HashBytesAtOffset(input_bytes, 2, shift); + table[prev_hash] = (int)(ip - base_ip - 3); + input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 2); + cur_hash = HashBytesAtOffset(input_bytes, 2, shift); + prev_hash = HashBytesAtOffset(input_bytes, 0, shift); + table[prev_hash] = (int)(ip - base_ip - 2); + prev_hash = HashBytesAtOffset(input_bytes, 1, shift); + table[prev_hash] = (int)(ip - base_ip - 1); + + candidate = base_ip + table[cur_hash]; + table[cur_hash] = (int)(ip - base_ip); + } + } + + next_hash = Hash(++ip, shift); + } + } + +emit_remainder: + assert(next_emit <= ip_end); + /* Emit the remaining bytes as literals. */ + if (next_emit < ip_end) { + const uint32_t insert = (uint32_t)(ip_end - next_emit); + EmitInsertLen(insert, commands); + memcpy(*literals, next_emit, insert); + *literals += insert; + } +} + +static void StoreCommands(MemoryManager* m, + const uint8_t* literals, const size_t num_literals, + const uint32_t* commands, const size_t num_commands, + size_t* storage_ix, uint8_t* storage) { + static const uint32_t kNumExtraBits[128] = { + 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 12, 14, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, + 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, + 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, + }; + static const uint32_t kInsertOffset[24] = { + 0, 1, 2, 3, 4, 5, 6, 8, 10, 14, 18, 26, 34, 50, 66, 98, 130, 194, 322, 578, + 1090, 2114, 6210, 22594, + }; + + uint8_t lit_depths[256]; + uint16_t lit_bits[256]; + uint32_t lit_histo[256] = { 0 }; + uint8_t cmd_depths[128] = { 0 }; + uint16_t cmd_bits[128] = { 0 }; + uint32_t cmd_histo[128] = { 0 }; + size_t i; + for (i = 0; i < num_literals; ++i) { + ++lit_histo[literals[i]]; + } + BrotliBuildAndStoreHuffmanTreeFast(m, lit_histo, num_literals, + /* max_bits = */ 8, + lit_depths, lit_bits, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + + for (i = 0; i < num_commands; ++i) { + ++cmd_histo[commands[i] & 0xff]; + } + cmd_histo[1] += 1; + cmd_histo[2] += 1; + cmd_histo[64] += 1; + cmd_histo[84] += 1; + BuildAndStoreCommandPrefixCode(cmd_histo, cmd_depths, cmd_bits, + storage_ix, storage); + + for (i = 0; i < num_commands; ++i) { + const uint32_t cmd = commands[i]; + const uint32_t code = cmd & 0xff; + const uint32_t extra = cmd >> 8; + BrotliWriteBits(cmd_depths[code], cmd_bits[code], storage_ix, storage); + BrotliWriteBits(kNumExtraBits[code], extra, storage_ix, storage); + if (code < 24) { + const uint32_t insert = kInsertOffset[code] + extra; + uint32_t j; + for (j = 0; j < insert; ++j) { + const uint8_t lit = *literals; + BrotliWriteBits(lit_depths[lit], lit_bits[lit], storage_ix, storage); + ++literals; + } + } + } +} + +/* Acceptable loss for uncompressible speedup is 2% */ +#define MIN_RATIO 0.98 +#define SAMPLE_RATE 43 + +static BROTLI_BOOL ShouldCompress( + const uint8_t* input, size_t input_size, size_t num_literals) { + double corpus_size = (double)input_size; + if (num_literals < MIN_RATIO * corpus_size) { + return BROTLI_TRUE; + } else { + uint32_t literal_histo[256] = { 0 }; + const double max_total_bit_cost = corpus_size * 8 * MIN_RATIO / SAMPLE_RATE; + size_t i; + for (i = 0; i < input_size; i += SAMPLE_RATE) { + ++literal_histo[input[i]]; + } + return TO_BROTLI_BOOL(BitsEntropy(literal_histo, 256) < max_total_bit_cost); + } +} + +void BrotliCompressFragmentTwoPass(MemoryManager* m, + const uint8_t* input, size_t input_size, + BROTLI_BOOL is_last, + uint32_t* command_buf, uint8_t* literal_buf, + int* table, size_t table_size, + size_t* storage_ix, uint8_t* storage) { + /* Save the start of the first block for position and distance computations. + */ + const uint8_t* base_ip = input; + + while (input_size > 0) { + size_t block_size = + BROTLI_MIN(size_t, input_size, kCompressFragmentTwoPassBlockSize); + uint32_t* commands = command_buf; + uint8_t* literals = literal_buf; + size_t num_literals; + CreateCommands(input, block_size, input_size, base_ip, table, table_size, + &literals, &commands); + num_literals = (size_t)(literals - literal_buf); + if (ShouldCompress(input, block_size, num_literals)) { + const size_t num_commands = (size_t)(commands - command_buf); + BrotliStoreMetaBlockHeader(block_size, 0, storage_ix, storage); + /* No block splits, no contexts. */ + BrotliWriteBits(13, 0, storage_ix, storage); + StoreCommands(m, literal_buf, num_literals, command_buf, num_commands, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + } else { + /* Since we did not find many backward references and the entropy of + the data is close to 8 bits, we can simply emit an uncompressed block. + This makes compression speed of uncompressible data about 3x faster. */ + BrotliStoreMetaBlockHeader(block_size, 1, storage_ix, storage); + *storage_ix = (*storage_ix + 7u) & ~7u; + memcpy(&storage[*storage_ix >> 3], input, block_size); + *storage_ix += block_size << 3; + storage[*storage_ix >> 3] = 0; + } + input += block_size; + input_size -= block_size; + } + + if (is_last) { + BrotliWriteBits(1, 1, storage_ix, storage); /* islast */ + BrotliWriteBits(1, 1, storage_ix, storage); /* isempty */ + *storage_ix = (*storage_ix + 7u) & ~7u; + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h new file mode 100644 index 000000000000..42d9e29d2e1c --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h @@ -0,0 +1,51 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Function for fast encoding of an input fragment, independently from the input + history. This function uses two-pass processing: in the first pass we save + the found backward matches and literal bytes into a buffer, and in the + second pass we emit them into the bit stream using prefix codes built based + on the actual command and literal byte histograms. */ + +#ifndef BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_ +#define BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_ + +#include "../common/types.h" +#include "./memory.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const size_t kCompressFragmentTwoPassBlockSize = 1 << 17; + +/* Compresses "input" string to the "*storage" buffer as one or more complete + meta-blocks, and updates the "*storage_ix" bit position. + + If "is_last" is 1, emits an additional empty last meta-block. + + REQUIRES: "input_size" is greater than zero, or "is_last" is 1. + REQUIRES: "command_buf" and "literal_buf" point to at least + kCompressFragmentTwoPassBlockSize long arrays. + REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero. + REQUIRES: "table_size" is a power of two */ +BROTLI_INTERNAL void BrotliCompressFragmentTwoPass(MemoryManager* m, + const uint8_t* input, + size_t input_size, + BROTLI_BOOL is_last, + uint32_t* command_buf, + uint8_t* literal_buf, + int* table, + size_t table_size, + size_t* storage_ix, + uint8_t* storage); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/compressor.h b/BaseTools/Source/C/BrotliCompress/enc/compressor.h new file mode 100644 index 000000000000..665a48a28512 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/compressor.h @@ -0,0 +1,161 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* C++ API for Brotli compression. */ + +#ifndef BROTLI_ENC_COMPRESSOR_H_ +#define BROTLI_ENC_COMPRESSOR_H_ + +#include "./encode.h" +#include "./streams.h" + +namespace brotli { + +static const int kMinWindowBits = kBrotliMinWindowBits; +static const int kMaxWindowBits = kBrotliMaxWindowBits; +static const int kMinInputBlockBits = kBrotliMinInputBlockBits; +static const int kMaxInputBlockBits = kBrotliMaxInputBlockBits; + +struct BrotliParams { + BrotliParams(void) + : mode(MODE_GENERIC), + quality(11), + lgwin(22), + lgblock(0), + enable_dictionary(true), + enable_transforms(false), + greedy_block_split(false), + enable_context_modeling(true) {} + + enum Mode { + /* Default compression mode. The compressor does not know anything in + advance about the properties of the input. */ + MODE_GENERIC = 0, + /* Compression mode for UTF-8 format text input. */ + MODE_TEXT = 1, + /* Compression mode used in WOFF 2.0. */ + MODE_FONT = 2 + }; + Mode mode; + + /* Controls the compression-speed vs compression-density tradeoffs. The higher + the |quality|, the slower the compression. Range is 0 to 11. */ + int quality; + /* Base 2 logarithm of the sliding window size. Range is 10 to 24. */ + int lgwin; + /* Base 2 logarithm of the maximum input block size. Range is 16 to 24. + If set to 0, the value will be set based on the quality. */ + int lgblock; + + /* These settings are deprecated and will be ignored. + All speed vs. size compromises are controlled by the |quality| param. */ + bool enable_dictionary; + bool enable_transforms; + bool greedy_block_split; + bool enable_context_modeling; +}; + +/* An instance can not be reused for multiple brotli streams. */ +class BrotliCompressor { + public: + explicit BrotliCompressor(BrotliParams params); + ~BrotliCompressor(void); + + /* The maximum input size that can be processed at once. */ + size_t input_block_size(void) const { + return BrotliEncoderInputBlockSize(state_); + } + + /* Encodes the data in |input_buffer| as a meta-block and writes it to + |encoded_buffer| (|*encoded_size should| be set to the size of + |encoded_buffer|) and sets |*encoded_size| to the number of bytes that + was written. The |input_size| must not be greater than input_block_size(). + Returns false if there was an error and true otherwise. */ + bool WriteMetaBlock(const size_t input_size, + const uint8_t* input_buffer, + const bool is_last, + size_t* encoded_size, + uint8_t* encoded_buffer); + + /* Writes a metadata meta-block containing the given input to encoded_buffer. + |*encoded_size| should be set to the size of the encoded_buffer. + Sets |*encoded_size| to the number of bytes that was written. + Note that the given input data will not be part of the sliding window and + thus no backward references can be made to this data from subsequent + metablocks. |input_size| must not be greater than 2^24 and provided + |*encoded_size| must not be less than |input_size| + 6. + Returns false if there was an error and true otherwise. */ + bool WriteMetadata(const size_t input_size, + const uint8_t* input_buffer, + const bool is_last, + size_t* encoded_size, + uint8_t* encoded_buffer); + + /* Writes a zero-length meta-block with end-of-input bit set to the + internal output buffer and copies the output buffer to |encoded_buffer| + (|*encoded_size| should be set to the size of |encoded_buffer|) and sets + |*encoded_size| to the number of bytes written. + Returns false if there was an error and true otherwise. */ + bool FinishStream(size_t* encoded_size, uint8_t* encoded_buffer); + + /* Copies the given input data to the internal ring buffer of the compressor. + No processing of the data occurs at this time and this function can be + called multiple times before calling WriteBrotliData() to process the + accumulated input. At most input_block_size() bytes of input data can be + copied to the ring buffer, otherwise the next WriteBrotliData() will fail. + */ + void CopyInputToRingBuffer(const size_t input_size, + const uint8_t* input_buffer); + + /* Processes the accumulated input data and sets |*out_size| to the length of + the new output meta-block, or to zero if no new output meta-block has been + created (in this case the processed input data is buffered internally). + If |*out_size| is positive, |*output| points to the start of the output + data. If |is_last| or |force_flush| is true, an output meta-block is always + created. However, until |is_last| is true encoder may retain up to 7 bits + of the last byte of output. To force encoder to dump the remaining bits + use WriteMetadata() to append an empty meta-data block. + Returns false if the size of the input data is larger than + input_block_size(). */ + bool WriteBrotliData(const bool is_last, const bool force_flush, + size_t* out_size, uint8_t** output); + + /* Fills the new state with a dictionary for LZ77, warming up the ringbuffer, + e.g. for custom static dictionaries for data formats. + Not to be confused with the built-in transformable dictionary of Brotli. + To decode, use BrotliSetCustomDictionary() of the decoder with the same + dictionary. */ + void BrotliSetCustomDictionary(size_t size, const uint8_t* dict); + + /* No-op, but we keep it here for API backward-compatibility. */ + void WriteStreamHeader(void) {} + + private: + BrotliEncoderState* state_; +}; + +/* Compresses the data in |input_buffer| into |encoded_buffer|, and sets + |*encoded_size| to the compressed length. + Returns 0 if there was an error and 1 otherwise. */ +int BrotliCompressBuffer(BrotliParams params, + size_t input_size, + const uint8_t* input_buffer, + size_t* encoded_size, + uint8_t* encoded_buffer); + +/* Same as above, but uses the specified input and output classes instead + of reading from and writing to pre-allocated memory buffers. */ +int BrotliCompress(BrotliParams params, BrotliIn* in, BrotliOut* out); + +/* Before compressing the data, sets a custom LZ77 dictionary with + BrotliCompressor::BrotliSetCustomDictionary. */ +int BrotliCompressWithCustomDictionary(size_t dictsize, const uint8_t* dict, + BrotliParams params, + BrotliIn* in, BrotliOut* out); + +} /* namespace brotli */ + +#endif /* BROTLI_ENC_COMPRESSOR_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/context.h b/BaseTools/Source/C/BrotliCompress/enc/context.h new file mode 100644 index 000000000000..06c081309350 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/context.h @@ -0,0 +1,184 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions to map previous bytes into a context id. */ + +#ifndef BROTLI_ENC_CONTEXT_H_ +#define BROTLI_ENC_CONTEXT_H_ + +#include "../common/types.h" +#include "../common/port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* Second-order context lookup table for UTF8 byte streams. + + If p1 and p2 are the previous two bytes, we calculate the context as + + context = kUTF8ContextLookup[p1] | kUTF8ContextLookup[p2 + 256]. + + If the previous two bytes are ASCII characters (i.e. < 128), this will be + equivalent to + + context = 4 * context1(p1) + context2(p2), + + where context1 is based on the previous byte in the following way: + + 0 : non-ASCII control + 1 : \t, \n, \r + 2 : space + 3 : other punctuation + 4 : " ' + 5 : % + 6 : ( < [ { + 7 : ) > ] } + 8 : , ; : + 9 : . + 10 : = + 11 : number + 12 : upper-case vowel + 13 : upper-case consonant + 14 : lower-case vowel + 15 : lower-case consonant + + and context2 is based on the second last byte: + + 0 : control, space + 1 : punctuation + 2 : upper-case letter, number + 3 : lower-case letter + + If the last byte is ASCII, and the second last byte is not (in a valid UTF8 + stream it will be a continuation byte, value between 128 and 191), the + context is the same as if the second last byte was an ASCII control or space. + + If the last byte is a UTF8 lead byte (value >= 192), then the next byte will + be a continuation byte and the context id is 2 or 3 depending on the LSB of + the last byte and to a lesser extent on the second last byte if it is ASCII. + + If the last byte is a UTF8 continuation byte, the second last byte can be: + - continuation byte: the next byte is probably ASCII or lead byte (assuming + 4-byte UTF8 characters are rare) and the context id is 0 or 1. + - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1 + - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3 + + The possible value combinations of the previous two bytes, the range of + context ids and the type of the next byte is summarized in the table below: + + |--------\-----------------------------------------------------------------| + | \ Last byte | + | Second \---------------------------------------------------------------| + | last byte \ ASCII | cont. byte | lead byte | + | \ (0-127) | (128-191) | (192-) | + |=============|===================|=====================|==================| + | ASCII | next: ASCII/lead | not valid | next: cont. | + | (0-127) | context: 4 - 63 | | context: 2 - 3 | + |-------------|-------------------|---------------------|------------------| + | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. | + | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 | + |-------------|-------------------|---------------------|------------------| + | lead byte | not valid | next: ASCII/lead | not valid | + | (192-207) | | context: 0 - 1 | | + |-------------|-------------------|---------------------|------------------| + | lead byte | not valid | next: cont. | not valid | + | (208-) | | context: 2 - 3 | | + |-------------|-------------------|---------------------|------------------| +*/ +static const uint8_t kUTF8ContextLookup[512] = { + /* Last byte. */ + /* */ + /* ASCII range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, + 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12, + 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, + 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12, + 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, + 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0, + /* UTF8 continuation byte range. */ + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + /* UTF8 lead byte range. */ + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + /* Second last byte. */ + /* */ + /* ASCII range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, + /* UTF8 continuation byte range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* UTF8 lead byte range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +}; + +/* Context lookup table for small signed integers. */ +static const uint8_t kSigned3BitContextLookup[] = { + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, +}; + +typedef enum ContextType { + CONTEXT_LSB6 = 0, + CONTEXT_MSB6 = 1, + CONTEXT_UTF8 = 2, + CONTEXT_SIGNED = 3 +} ContextType; + +static BROTLI_INLINE uint8_t Context(uint8_t p1, uint8_t p2, ContextType mode) { + switch (mode) { + case CONTEXT_LSB6: + return p1 & 0x3f; + case CONTEXT_MSB6: + return (uint8_t)(p1 >> 2); + case CONTEXT_UTF8: + return kUTF8ContextLookup[p1] | kUTF8ContextLookup[p2 + 256]; + case CONTEXT_SIGNED: + return (uint8_t)((kSigned3BitContextLookup[p1] << 3) + + kSigned3BitContextLookup[p2]); + default: + return 0; + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_CONTEXT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h b/BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h new file mode 100644 index 000000000000..65455bad402d --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h @@ -0,0 +1,4121 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Hash table on the 4-byte prefixes of static dictionary words. */ + +#ifndef BROTLI_ENC_DICTIONARY_HASH_H_ +#define BROTLI_ENC_DICTIONARY_HASH_H_ + +#include "../common/types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const uint16_t kStaticDictionaryHash[] = { + 0x7d48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5564, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9e26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x050c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1364, 0x0116, 0x5ca5, 0x0000, 0x4e04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x084e, 0x3ee6, 0x0000, 0x0000, + 0x0000, 0x3865, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6867, 0x08cd, 0x0000, 0x0000, 0x4364, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x59c8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4107, 0x0000, 0x85c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xbd66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x09cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4c4c, 0x0000, 0x0000, 0x5dc4, + 0x0000, 0x0000, 0x0000, 0x2664, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7885, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ce6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50aa, 0x0964, + 0x0000, 0x5125, 0x068d, 0x2347, 0x0000, 0x1904, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xcaa7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1a69, 0x1c26, 0x0000, 0x0000, 0x55e8, 0x59c7, 0x0000, 0x0000, + 0x0dc9, 0x0000, 0x0748, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2b26, 0x0000, 0x0000, 0x25a9, 0x0000, 0x0000, 0x0000, + 0x196b, 0x0000, 0x0000, 0x9046, 0x5448, 0xf3a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2066, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9f67, + 0x0000, 0x0000, 0x0000, 0x99e6, 0x1fc8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x22ab, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1f05, 0x0000, 0x0000, 0x6409, 0x0000, 0x0000, 0x0000, + 0x03a8, 0x0e84, 0x0c8d, 0x3d47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xcd27, 0x0000, 0x43e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0528, 0x16a5, 0x0000, 0x5225, 0x0000, 0x0000, 0x1948, 0x0327, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x34e9, 0x0000, 0x0000, 0x0000, 0x0e28, 0x0000, + 0x0000, 0x0000, 0x73ea, 0x7864, 0x0000, 0x7a05, 0x0000, 0x19c4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xfa46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5706, 0x0000, 0x9246, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1c48, 0x01a7, 0x0000, 0x6024, + 0x54c9, 0x44e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0729, 0x0000, 0x0000, 0x0000, 0x0148, 0x1785, 0x0000, 0x0000, + 0x0000, 0x4e06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf2a7, 0x1052, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2f44, 0x21a9, 0x0000, 0x0000, 0x4204, 0x0000, 0x8f46, + 0x0000, 0x0000, 0x0000, 0x8a26, 0x0000, 0xca06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5206, 0x0000, 0xf286, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x15a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3925, 0x2ac8, 0x6547, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x78e8, 0x0be6, 0x37ea, 0x32c6, 0x0000, 0x0000, 0x0000, 0x3ba4, + 0x0000, 0x9e86, 0x7608, 0xf2a6, 0x0000, 0x0000, 0x0000, 0x4ea4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ee5, 0x0000, 0x0000, + 0x0000, 0xcc86, 0x0000, 0x0000, 0x0000, 0x0000, 0x60ca, 0x0000, + 0x002c, 0x8147, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6704, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ec5, 0x0000, 0x0000, + 0x4608, 0x2507, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7e29, 0x6fc5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb846, 0x2dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x09e8, 0xd767, 0x0000, 0x0000, + 0x190a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xdbe6, 0x2e8a, 0x0000, 0x0211, 0x0000, 0x75e8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2045, 0x0000, 0x0000, 0x7088, 0xe5e6, 0x5869, 0x03c5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xfa87, 0x0000, 0x0000, 0x014b, 0x0e64, + 0x0000, 0x0645, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x410a, 0x0025, 0x0000, 0x5c46, + 0x0c48, 0x3c45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x57ab, 0x0045, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45a8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2b69, 0x0000, 0x0000, 0x0000, 0x0000, 0x4785, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6806, + 0x0000, 0x0000, 0x63a8, 0x6527, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4205, + 0x0000, 0x0000, 0x0000, 0x6ba6, 0x0000, 0x0000, 0x24ca, 0x0000, + 0x0000, 0x0000, 0x0db4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9466, 0x2449, 0x2145, 0x0000, 0x0000, + 0x0000, 0x0000, 0x062a, 0x0644, 0x5d88, 0x0000, 0x0000, 0x3a44, + 0x31ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2f49, 0x0000, 0x40e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5364, + 0x2be8, 0x70c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x168c, 0x0000, 0x0000, 0x6ca4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2084, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x416c, 0x0485, 0x0000, 0x0000, 0x496a, 0x3fc4, + 0x652a, 0x03a7, 0x208d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4746, 0x0000, 0x46a6, 0x0000, 0xb706, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0153, 0x0000, + 0x0000, 0x6264, 0x31ec, 0x2f86, 0x1909, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4084, 0x0000, 0x6984, 0x6eeb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x058c, 0x0000, 0x0000, 0x0000, + 0x2628, 0xcee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x624b, 0x0144, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xfde6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5585, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb906, + 0x0000, 0x0000, 0x0000, 0x0366, 0x0000, 0x0000, 0x0000, 0x3166, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x65a4, 0x3fe8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0711, 0x0000, 0x0000, 0x0000, + 0x19c9, 0x3e06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71a4, + 0x0000, 0x6f64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x55e4, 0x0000, 0x0000, 0x0000, 0xa7c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x140d, 0x0526, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6c6, + 0x6148, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc946, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0e65, 0x0000, 0x0000, 0x0000, 0x0000, 0x274e, 0x24c4, + 0x0000, 0x0000, 0x0000, 0x7ae4, 0x164c, 0x1825, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x15c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6a08, 0xe086, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1bac, 0x0000, 0x55e9, 0xcf86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x20cd, 0x0000, 0x0000, 0x1665, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0844, 0x0000, 0x60a6, 0x0000, 0x2c07, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x046d, 0x0000, 0x1309, 0x0000, 0x0000, 0x95a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x460c, 0x0000, 0x0000, 0x4685, 0x0000, 0x0000, + 0x0000, 0x63a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4586, 0x0000, 0x6666, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x59e8, 0x4407, 0x4fa8, 0x00a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0ca7, 0x0000, 0xb427, 0x0000, 0x0000, + 0x0000, 0x6fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1dc5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa206, 0x0000, 0x0000, 0x7928, 0xd826, + 0x2748, 0x0784, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8f06, + 0x0000, 0x8f67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x36aa, 0xe7a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6785, 0x0000, 0x1607, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3649, 0x04e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13e7, 0x0000, 0x0000, + 0x0000, 0x70c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x21c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6429, 0x4584, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3404, 0x026c, 0x18a5, 0x2e2b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0388, 0x0447, + 0x0000, 0x5ea5, 0x0000, 0x0000, 0x7048, 0xc227, 0x0000, 0x5a25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7e88, 0x0000, 0x0000, 0x0000, + 0x0000, 0x89c7, 0x0000, 0x7044, 0x16ea, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1109, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1eed, 0x22a5, 0x0000, 0x0000, 0x0000, 0x3664, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa3e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1a6e, 0x36a5, 0x0000, 0x0000, 0x0000, 0x0387, + 0x0000, 0x0000, 0x5dca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfb86, + 0x0000, 0x57c4, 0x0000, 0x6505, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5c68, 0x14c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x59e9, 0x1545, 0x3e89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xbb86, 0x28e9, 0x0000, 0x0000, 0x3844, + 0x0000, 0x0000, 0x0000, 0xa4c7, 0x0000, 0x0000, 0x0000, 0xc846, + 0x0000, 0x0000, 0x296a, 0x5e44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xab06, 0x0000, 0x0000, 0x45aa, 0x0000, 0x0000, 0x0000, + 0x63e8, 0x6a45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x718a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0272, 0x07c4, 0x396c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe146, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xaea6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f08, 0x1dc7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa586, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4b48, 0x1924, 0x0000, 0x0000, + 0x1488, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ce5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9b67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6e46, 0x0000, 0x0000, 0x0000, 0x7164, 0x292a, 0x0c85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1604, 0x0348, 0x0127, 0x0000, 0x0000, + 0x2128, 0x2006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5064, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fea, 0x4c46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x79a8, 0xfa26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x414c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x452a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc5c6, + 0x0000, 0xc547, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6366, 0x0000, 0x0000, + 0x0000, 0x3607, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0a88, 0x0fc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x62c8, 0x0000, + 0x2f2c, 0x0806, 0x0000, 0xbf26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4249, 0xe827, 0x436b, 0x8a07, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7a2b, 0x0000, 0x0000, 0x0000, 0x0449, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0308, 0x0347, 0x0000, 0x0000, 0x72ca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x16e8, 0x2f66, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6305, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf007, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6066, 0x0000, 0x0000, 0x0000, 0xf767, 0x0000, 0x70a4, + 0x1fce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x118e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3708, 0x04a4, 0x0000, 0x3f84, 0x0000, 0x0000, + 0x0000, 0x4025, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0114, 0x0000, 0x0000, 0x42a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e0c, 0x7305, + 0x0000, 0x8307, 0x0000, 0x1325, 0x0000, 0x0000, 0x30ea, 0x0000, + 0x0000, 0xf407, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0fce, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5006, 0x0000, 0x3c64, 0x08a9, 0xca07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5bc7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3c0a, 0x0000, 0x3de9, 0x0000, 0x3b09, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d44, + 0x1ca9, 0x0000, 0x0000, 0x0000, 0x0000, 0x7686, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7e2b, 0x5d84, + 0x0000, 0x4566, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1828, 0x0000, 0x51a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b04, 0x0000, 0x0000, + 0x0000, 0x1585, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a6d, 0xc406, 0x0000, 0x0000, 0x300b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1489, 0x6e07, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2de6, 0x0f32, 0x0000, 0x0000, 0x6784, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc0a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ae5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4629, 0x0727, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x73c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x6769, 0x0000, + 0x1848, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x700b, 0x9c27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc9c6, + 0x0000, 0x0000, 0x0000, 0x6b87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x788b, 0x0cc4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7064, 0x0000, 0x4724, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6368, 0xffa6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0d09, 0x0686, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4b84, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6168, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0413, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dc6, 0x0000, 0x54a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7ec6, 0x0000, 0x77a6, 0x0000, 0x0000, 0x4eca, 0x26c6, + 0x0000, 0x0000, 0x0000, 0x4747, 0x0000, 0x0000, 0x3828, 0x0000, + 0x0808, 0x4327, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1e84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x57ca, 0xce46, 0x0634, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2a49, 0x0000, 0x0000, 0x0000, 0x0000, 0x9fe6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7005, 0x0000, 0x0000, + 0x1652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6509, 0x56e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4368, 0x8ba7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x202c, 0x0000, + 0x7d6c, 0x0000, 0x0000, 0x0000, 0x002b, 0x3806, 0x0000, 0x4085, + 0x0000, 0x0000, 0x780c, 0x0000, 0x0fac, 0x0085, 0x0000, 0x9e87, + 0x03cb, 0x5d86, 0x0000, 0x0000, 0x6a8b, 0x0000, 0x0000, 0x0000, + 0x00cc, 0x0000, 0x0000, 0x6a04, 0x1d8c, 0xad27, 0x6bc8, 0xe266, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5748, 0x6465, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c44, 0x7c0b, 0x0000, + 0x0000, 0x6dc6, 0x0000, 0xe6e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2fe5, 0x0000, 0xaf86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7b48, 0x0000, 0x2b6a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a09, 0x4787, 0x0000, 0xb067, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x080b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe4a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x578b, 0x5d87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2daa, 0x0000, 0x0000, 0x0fe5, 0x0000, 0x0000, + 0x0a6c, 0x18c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6c0a, 0x06e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ac8, 0xdb06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8547, 0x0000, 0x5f85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x556b, 0x0000, 0x44ca, 0x26a6, + 0x0000, 0x0000, 0x6d48, 0x9786, 0x0000, 0x0000, 0x0000, 0xaa86, + 0x0000, 0x7b47, 0x2faa, 0x5a66, 0x0000, 0x0000, 0x0000, 0xc4a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8026, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc2e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x3daa, 0x10a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x128a, 0x0ee6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4328, 0x01c5, 0x43ab, 0x0000, + 0x4f68, 0x0fc4, 0x0000, 0x0000, 0x0000, 0x3de4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6ba9, 0x7cc4, 0x7e28, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2ceb, 0x2e06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x260a, 0xc527, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8a66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7426, + 0x0000, 0x0000, 0x0000, 0x8ec7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2429, 0x15e6, 0x0000, 0x3605, 0x0000, 0x1b67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6227, 0x0000, 0x0000, 0x4a6b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7465, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa566, + 0x0000, 0x0000, 0x0000, 0x0000, 0x244d, 0x0000, 0x45e8, 0xdae6, + 0x0fed, 0x0000, 0x0000, 0x0000, 0x74cb, 0x91e7, 0x0000, 0x7867, + 0x0000, 0x2086, 0x0000, 0x0000, 0x0000, 0x47a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4889, 0xd326, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9186, 0x0000, 0x0000, 0x7ac9, 0xf046, 0x0000, 0x07e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6325, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0865, 0x62c9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30e4, + 0x3769, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x21e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2a89, 0x2587, 0x0000, 0x7027, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6f4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x6645, 0x282b, 0x06a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3a84, 0x0000, 0x1e67, 0x0000, 0x6cc6, 0x0000, 0x0000, + 0x0000, 0xdca6, 0x0f34, 0x0000, 0x0000, 0x0000, 0x168a, 0x40c7, + 0x0000, 0x66c5, 0x346e, 0x4f44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7046, 0x0000, 0x0000, + 0x0000, 0x0000, 0x38c8, 0x0486, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x64c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa5c6, 0x0000, 0x0d04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2087, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x43c9, 0x05a7, + 0x0000, 0x0000, 0x20eb, 0xbd86, 0x054f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3a8a, 0x0000, 0x7da8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x240e, 0x0ae7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3ec9, 0x7b87, 0x10ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x11a7, 0x0000, 0x0000, 0x6d08, 0xe646, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20a9, 0x4d64, + 0x0000, 0x0000, 0x0000, 0x0000, 0x17a8, 0x1ec5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x54c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23a8, 0x0465, + 0x0000, 0x40a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x438c, 0x1ac6, 0x5368, 0x0000, + 0x094c, 0x0000, 0x0000, 0x0fa7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5f25, 0x106a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x29a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa747, 0x0bce, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3825, 0x0000, 0x50c5, 0x0ce8, 0x0ac7, + 0x502a, 0xfd87, 0x0000, 0x0000, 0x0000, 0x0026, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6ca6, 0x0af2, 0x22a6, 0x0eae, 0x04e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x754b, 0x2526, + 0x0000, 0x0000, 0x0000, 0x0000, 0x45c8, 0x3a07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5b6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc906, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2a6, + 0x0000, 0x0000, 0x5bab, 0x7e47, 0x0000, 0x0000, 0x2a4a, 0xcf07, + 0x0000, 0x0000, 0x0000, 0x81c6, 0x7a68, 0xfb46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7da6, 0x0000, 0x0000, + 0x0f33, 0x0000, 0x0000, 0x0000, 0x1b69, 0x0285, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6d0b, 0xb407, 0x0000, 0x0000, + 0x0000, 0x5567, 0x0000, 0x85c6, 0x0000, 0x0000, 0x414b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x36e4, 0x53a8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ba6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9846, 0x0000, 0x0000, 0x4468, 0x1d24, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3c44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6ec4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6365, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4dc7, 0x0000, 0x4e27, + 0x0000, 0x0000, 0x0000, 0x2a67, 0x03af, 0x0000, 0x0000, 0x2a45, + 0x0000, 0x0000, 0x0000, 0x0000, 0x104a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x266c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xff87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2689, 0x6046, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9e47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3204, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x564b, 0x5c67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bc6, 0x0000, 0x0000, + 0x0000, 0xe4e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ca4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f65, 0x0000, 0x6dc4, + 0x0000, 0x0000, 0x0000, 0x7a24, 0x0000, 0x0c84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4deb, 0x27c6, 0x0000, 0x0000, + 0x2508, 0x39e5, 0x112e, 0x0000, 0x0000, 0x38c4, 0x0000, 0x0000, + 0x0000, 0xbee7, 0x0751, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x024d, 0x0605, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5b25, 0x0000, 0x0000, 0x0000, 0x3745, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0510, 0x3826, 0x0000, 0x6aa4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1c6c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xba66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x142c, 0x06e5, + 0x0000, 0x3845, 0x0000, 0x92c6, 0x07ca, 0x0000, 0x19ec, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ca7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0a08, 0x1aa4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2c48, 0x6687, 0x0000, 0x0000, 0x5d68, 0x0000, 0x0000, 0x0000, + 0x7748, 0x0000, 0x0000, 0x8626, 0x0000, 0x4587, 0x0000, 0x0000, + 0x0000, 0x5685, 0x0000, 0x17e6, 0x0000, 0x6484, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67e8, 0x1446, + 0x0000, 0x0000, 0x0476, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9a67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9a46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0c0d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x12b2, 0x0000, 0x0000, 0x0000, + 0x70c9, 0x1984, 0x0000, 0x0000, 0x6828, 0x0000, 0x23e9, 0x2dc7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7c08, 0xfc86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2c85, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6206, 0x0000, 0x0000, 0x46e9, 0x4ec7, + 0x0000, 0x0000, 0x0000, 0x4366, 0x0000, 0x0000, 0x036e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5e66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x65cb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7b68, 0x0000, 0x0000, 0x1fe7, + 0x5f2a, 0x1844, 0x0000, 0x87c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7f08, 0x0000, 0x0000, 0xae87, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4645, 0x21e9, 0x7226, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x280b, 0x1326, 0x05ac, 0x3b67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5926, + 0x0000, 0x28e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4b89, 0x4506, 0x006b, 0x2ce6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6aa9, 0x0a05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xfc06, 0x00c8, 0x6ee5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x79e8, 0x0000, 0x782a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7289, 0xec66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c89, 0x0ca5, + 0x30ca, 0x5887, 0x0000, 0x0000, 0x0000, 0x4965, 0x7ae8, 0x4007, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x50a6, 0x0000, 0x0000, 0x0000, 0x6a66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e44, 0x1188, 0x1b27, + 0x0000, 0x0000, 0x0000, 0xb506, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7125, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5068, 0x0d27, 0x0000, 0x6306, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0716, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e45, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0b71, 0x0000, 0x0000, 0xc3a6, 0x0000, 0x0b66, + 0x630c, 0x7564, 0x0073, 0x2e46, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0bf0, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e7, 0x00ef, 0x4d67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8fc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f04, 0x2e0a, 0x12a4, + 0x0000, 0x0000, 0x0d28, 0x8dc7, 0x0000, 0x7ae7, 0x0000, 0x0000, + 0x3949, 0x03e4, 0x0000, 0x5066, 0x0000, 0x0000, 0x0000, 0x2704, + 0x0000, 0x5c85, 0x0000, 0x0000, 0x0000, 0xcd47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0767, 0x088a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6c6b, 0x6367, 0x0000, 0x0000, + 0x0000, 0x0000, 0x794c, 0xf726, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8f86, 0x0000, 0x60e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7948, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x532a, 0x08e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x676b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3be4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0c68, 0x4be7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf506, 0x0000, 0x0000, 0x0000, 0x6324, + 0x0000, 0x0000, 0x6ceb, 0x0524, 0x0000, 0x0000, 0x1e2c, 0x0bc7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1a29, 0x0000, 0x0000, 0xbb26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0c45, 0x0000, 0x0000, 0x0000, 0x39e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x246e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b05, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x19a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x19a9, 0x0544, 0x0000, 0x6426, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4f64, 0x0000, 0x0000, 0x42ab, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e64, 0x0000, 0xa046, + 0x0000, 0x0000, 0x0000, 0x6725, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ca7, 0x6de9, 0x3a66, + 0x0000, 0x27a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7386, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a28, 0xe066, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6fea, 0xe0e6, 0x056b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe387, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x41a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0dc6, + 0x0000, 0x3da5, 0x0000, 0x15c4, 0x3428, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x48e9, 0x5ba7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3c2d, 0x1ae5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3ba8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2685, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2528, 0x0fc5, 0x0000, 0x0000, 0x2d2b, 0xc1e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ce8, 0xe1e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa367, 0x0000, 0x55a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63a5, + 0x0000, 0x6b46, 0x0000, 0x46a5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x364a, 0x1f84, 0x6749, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x62e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x3faa, 0x1ce5, + 0x164a, 0x4b27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0570, 0xc6e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd267, 0x0000, 0x0000, 0x0000, 0x0000, 0x05ab, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8c07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4589, 0x3dc5, 0x0000, 0x31c4, + 0x0000, 0x0000, 0x0000, 0x80c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x150d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79a7, 0x0000, 0x5044, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc9e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2f4d, 0x4a47, 0x0000, 0x88a7, 0x0000, 0x54e4, + 0x0e10, 0x0000, 0x0000, 0x0000, 0x0000, 0xba86, 0x4388, 0xabc7, + 0x5949, 0xb9c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x6728, 0xbce6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7706, 0x0000, 0x0000, + 0x5c08, 0x11e5, 0x0000, 0x5784, 0x0000, 0xc086, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc2a7, 0x0000, 0x0000, 0x0000, 0x6b85, 0x7bcb, 0x0007, + 0x0000, 0x0000, 0x64eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1069, 0x4065, 0x0000, 0x50c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0ea9, 0x5b07, 0x3f88, 0x0f26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2caa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1da5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xdf07, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5924, + 0x2b8a, 0xc006, 0x0000, 0x5c47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3645, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2dca, 0xeaa7, 0x04ea, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4884, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6d29, 0x0000, 0x0000, 0x0000, 0x0000, 0x1567, + 0x0000, 0x4e26, 0x44c8, 0x0d67, 0x2aec, 0x75e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6005, 0x000e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63e4, 0x0000, 0x0000, + 0x0000, 0x6fc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xd127, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8386, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2206, + 0x0000, 0x3724, 0x0000, 0x0000, 0x0074, 0x0124, 0x0000, 0x0000, + 0x0000, 0x93c7, 0x0000, 0xa846, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5548, 0x0000, 0x0000, 0x7d86, + 0x030f, 0x0000, 0x0000, 0x7906, 0x0000, 0x0000, 0x0000, 0x0044, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x172c, 0x0000, + 0x0000, 0x0000, 0x4849, 0x3b47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e2e, 0x4245, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4585, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0208, 0xa4a6, 0x0000, 0x0000, 0x0c32, 0x0000, 0x0000, 0x0000, + 0x57ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6f86, 0x0000, 0x0000, 0x0000, 0xc466, 0x0000, 0x0000, + 0x3549, 0x1746, 0x0000, 0x89a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7529, 0x4924, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x508b, 0x2467, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5da9, 0x0000, 0x1449, 0x0000, + 0x0000, 0x2fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5f46, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4e89, 0x02a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4f2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x2987, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xba27, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6804, 0x31c8, 0x0000, 0x50a8, 0x0000, 0x0000, 0x0000, + 0x01b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0286, 0x0000, 0x6404, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf926, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6028, 0x0000, 0x0000, 0x0000, 0x532b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb246, + 0x0000, 0x0000, 0x0000, 0x0000, 0x078b, 0x0000, 0x0000, 0x0000, + 0x5029, 0xea47, 0x0000, 0x5086, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xdba7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7527, 0x0000, 0xce87, 0x0000, 0x51c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c45, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb9c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa826, 0x0000, 0x0000, + 0x0b72, 0x0000, 0x3288, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9307, + 0x0000, 0x44a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7a08, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x02b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0670, 0x0000, 0x0000, 0x0000, 0x0000, 0x2747, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0092, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x18c9, 0x00c7, 0x0000, 0x88a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xde07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbf06, + 0x0000, 0x3464, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0989, 0x1144, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4fcc, 0x03a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb147, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd5c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x428c, 0x02e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6bc5, 0x0000, 0x0000, 0x764a, 0x4a06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x08c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6589, 0x0000, 0x0000, 0x0000, + 0x098b, 0x0000, 0x0000, 0x7b86, 0x0000, 0x3746, 0x0000, 0x0000, + 0x0000, 0x7007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3c68, 0x0000, 0x0000, 0x0000, 0x0000, 0xd5a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0ef3, 0x0000, 0x0000, 0x0000, + 0x0eac, 0x0000, 0x26a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a8a, 0x7a07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6004, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x40c4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6be9, 0x0000, + 0x0000, 0x0000, 0x0310, 0x1227, 0x7f8c, 0x0000, 0x0000, 0xf806, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5246, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0d4c, 0xe466, 0x0000, 0x7e45, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x48ca, 0x0ae5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2164, + 0x0000, 0x0000, 0x0000, 0x57e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3e09, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c27, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1f2a, 0x4624, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5f04, 0x0000, 0x0000, 0x1349, 0x0000, + 0x0000, 0x0000, 0x1fe8, 0x0000, 0x346c, 0x2864, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2e04, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4148, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e8, 0x4647, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0b89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x238c, 0x41a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x77cb, 0x0000, 0x0000, 0x4a45, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00cd, 0x3be6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6688, 0xcd26, + 0x0000, 0xc286, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x25c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1286, + 0x0000, 0x0000, 0x5489, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd146, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x164b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0bca, 0x30a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b68, 0x0106, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d66, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0307, 0x0000, 0xa906, 0x13ca, 0xbf47, + 0x0000, 0x0000, 0x59ca, 0x1045, 0x230b, 0xaf26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf347, 0x0110, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc8e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6e4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3425, 0x0000, 0x0000, + 0x0000, 0xc7a7, 0x4f29, 0x3625, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0249, 0x1d46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5508, 0xf3c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f2b, 0x00a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9806, 0x0000, 0xdda6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3fa8, 0x1687, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7d44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7464, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5d6c, 0x75e7, 0x0000, 0xe5a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5026, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2309, 0x0000, 0x0000, 0x0000, 0x00b7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x090a, 0x4425, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc4, + 0x0000, 0x0000, 0x1fcb, 0x12e7, 0x6d0a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7326, 0x0000, 0x0000, 0x40a8, 0x6827, 0x0000, 0xd207, + 0x0000, 0x0000, 0x3688, 0x1f67, 0x4908, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x030e, 0x3e85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1872, 0xdde6, 0x4048, 0x30a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ce4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x248b, 0x0000, 0x0000, 0x0000, + 0x1c69, 0xa067, 0x60cc, 0xe1a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0eec, 0x0a25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7229, 0xeec6, + 0x0000, 0x0000, 0x0000, 0xe447, 0x3d4b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9146, 0x5788, 0x03c7, + 0x0000, 0x0000, 0x0000, 0x5a26, 0x68ea, 0x0000, 0x0000, 0x0000, + 0x4d29, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1528, 0x3586, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xce06, 0x4faa, 0x96a7, 0x0000, 0x0000, 0x0000, 0xc787, + 0x0000, 0x0000, 0x0088, 0x2144, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bc4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0213, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x22e8, 0x13a7, 0x30e8, 0x4b86, + 0x0000, 0x0000, 0x592b, 0x7627, 0x6daa, 0x79a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6b69, 0x46e4, 0x4e88, 0xe6c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5f45, 0x0000, 0x0000, 0x17ed, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2545, 0x0000, 0x0000, 0x5fe9, 0x71a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6364, 0x0000, 0x0000, + 0x25ab, 0x0000, 0x0000, 0xf647, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9a86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x508c, 0x2e27, 0x01f3, 0x0000, + 0x1408, 0x08e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb4e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5bea, 0x9ce6, 0x0988, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x692a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6886, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xcac7, 0x0000, 0x0000, 0x5bec, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc826, 0x6489, 0xadc6, 0x314e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0c06, 0x0000, 0x2425, 0x0000, 0x0000, + 0x0468, 0x5607, 0x0000, 0x0000, 0x0000, 0x5366, 0x0000, 0x4024, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5804, 0x0000, 0xbe86, + 0x0000, 0x86c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2645, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x35e5, 0x0000, 0x9587, 0x0000, 0x0000, 0x06ca, 0x0000, + 0x01e9, 0xb507, 0x0000, 0xb146, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7166, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x184c, 0xdce6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6905, 0x0000, 0x7086, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb386, 0x0000, 0x0000, 0x0000, 0x0000, 0x5049, 0xc307, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bcb, 0x3046, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x67cb, 0x3407, 0x0000, 0x0000, 0x028d, 0x5b67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x572c, 0x0000, 0x0000, 0x52c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ba4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ce6, 0x53eb, 0x6c05, + 0x0000, 0x7405, 0x00ed, 0x0000, 0x2988, 0x0000, 0x0000, 0x0000, + 0x0000, 0x83e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7b4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0588, 0x0987, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x258b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x15eb, 0x40c5, 0x67e9, 0x8a86, 0x0000, 0x0000, + 0x0000, 0x6884, 0x0000, 0xe787, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6968, 0xe186, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1eca, 0x0000, 0x0000, 0x0000, 0x4c48, 0x1945, 0x0000, 0x0000, + 0x0489, 0x0000, 0x0000, 0x0000, 0x1e08, 0x51c7, 0x01a9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30e7, + 0x0000, 0x3266, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x096b, 0x0000, 0x2dcd, 0x65e6, + 0x0000, 0x0000, 0x4ee9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2b25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7707, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5425, + 0x0475, 0x52c6, 0x0000, 0x23e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00b8, 0x0445, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x12ea, 0x0000, 0x3568, 0x0000, + 0x0000, 0x2fc6, 0x0000, 0x0000, 0x0000, 0x2924, 0x0000, 0x0000, + 0x22e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7144, 0x0000, 0x0000, 0x2dc8, 0x6966, + 0x0000, 0xb466, 0x0000, 0xab87, 0x7c0a, 0x0000, 0x0488, 0x0f64, + 0x0000, 0x5124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fe5, + 0x0000, 0x7f46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7c65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0906, 0x2e0c, 0x0000, 0x0000, 0xa827, + 0x0000, 0x0000, 0x0000, 0x49a5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf886, 0x0000, 0x0000, + 0x1b88, 0x43a6, 0x0000, 0x0000, 0x0000, 0x55c5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x040f, 0x1887, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fa5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb586, + 0x0000, 0x0000, 0x0018, 0x4d07, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x99a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5369, 0x0f06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8f47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c04, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x24a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x74e6, 0x0000, 0x8346, 0x0000, 0x1264, 0x0b0c, 0x0000, + 0x0000, 0x7367, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x74c5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0e4f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2aa8, 0x1bc7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x24a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fa4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x90e6, 0x0000, 0x0000, + 0x0000, 0x69e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5569, 0x0000, 0x6c69, 0x7606, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe227, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3168, 0x1546, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4d48, 0x42e4, 0x0000, 0xcb27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x02f6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6144, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05c4, 0x0000, 0xfe07, + 0x0000, 0x0000, 0x04b5, 0xb647, 0x0000, 0x7547, 0x2d69, 0x0446, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f27, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x39c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x41a8, 0x0000, + 0x0000, 0x02e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5484, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3e48, 0x5aa7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00f7, 0x0000, 0x0000, 0x0000, 0x0000, 0x60a7, 0x0000, 0x0000, + 0x0000, 0x1484, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7509, 0x48e4, 0x526b, 0xb6c7, 0x0000, 0x1b85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x646b, 0x0000, 0x0000, 0x4404, + 0x0ef4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x16ab, 0x1605, 0x0000, 0x9507, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xeac7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0355, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7607, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2225, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6ae6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00ab, 0x0fe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5e09, 0x1cc6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0888, 0x1445, + 0x0000, 0x51c4, 0x0609, 0x1384, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e04, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x18a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x786a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6b47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5488, 0xf747, + 0x0000, 0x0000, 0x0ccb, 0x7987, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2d24, 0x0000, 0x39a4, 0x0000, 0x0000, + 0x0000, 0x3b04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5d6a, 0x7126, 0x0000, 0x0000, 0x0000, 0x1365, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x27e8, 0x1467, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6a06, 0x0000, 0x0000, 0x0495, 0x4ee6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdd26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1204, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e2e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4569, 0x1ee6, + 0x0000, 0x0000, 0x7c88, 0x0000, 0x0000, 0x17a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x230a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x41c8, 0x5d47, 0x0000, 0x0000, + 0x2b2b, 0x0000, 0x0000, 0x0000, 0x7f28, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x516a, 0x3585, 0x0000, 0x0000, + 0x0000, 0x9147, 0x1ccd, 0x28e7, 0x444a, 0x6304, 0x0000, 0x0000, + 0x0000, 0x9666, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5405, 0x17aa, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0c65, 0x0000, 0x0000, 0x0000, 0x2547, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4568, 0x31a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x90a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x31cc, 0xbe67, 0x0000, 0x2dc6, 0x0000, 0x0000, 0x626a, 0x0000, + 0x0000, 0x0000, 0x2349, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x13a4, 0x0000, 0x75a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa707, 0x0000, 0x0000, 0x0e88, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6266, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x154a, 0x1405, + 0x0000, 0xe2e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c44, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5624, 0x0000, 0x0000, 0x0000, 0x0000, 0x6689, 0x0000, + 0x3e4b, 0x0d84, 0x0000, 0x0000, 0x0000, 0x8be6, 0x0000, 0x0000, + 0x0000, 0x1e85, 0x4c2c, 0x7da7, 0x0000, 0x48a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6fe4, 0x0000, 0x0000, 0x0000, 0xed47, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4344, 0x3e0d, 0x24c6, 0x25aa, 0x0000, + 0x0000, 0x0000, 0x0251, 0x0000, 0x0000, 0x5ea4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9de6, 0x0000, 0x6684, 0x0000, 0x5a45, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xfd86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0f8b, 0xea67, 0x0000, 0x0000, 0x0000, 0x6e27, 0x0000, 0x0000, + 0x0000, 0xa886, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x71e6, 0x0000, 0x7744, 0x0000, 0x0000, 0x0000, 0x0000, + 0x33c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x40a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6604, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5929, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0429, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4a29, 0x12c5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4526, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0d8c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3487, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xde27, 0x0000, 0x0000, + 0x06f0, 0x3da4, 0x0000, 0x0000, 0x0a2b, 0x0000, 0x2828, 0x7a86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d48, 0x0e07, + 0x0000, 0x0944, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4e24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2f28, 0x0206, 0x0000, 0x0000, 0x07a8, 0x2327, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1c0a, 0x80e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0669, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1a6c, 0x26a5, 0x01ea, 0x0fa5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x62aa, 0x15a5, 0x0000, 0x36e5, 0x0132, 0x5107, 0x0000, 0x0000, + 0x24ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2ec9, 0x0104, 0x0000, 0x8967, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x47e5, 0x0000, 0x0000, 0x0000, 0x40c6, + 0x0000, 0x0000, 0x0000, 0x57c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0ae8, 0x0000, 0x0000, 0x0000, 0x36ca, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3a0a, 0x0f45, 0x0000, 0x0000, 0x0000, 0xe147, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3e6b, 0x0000, 0x0000, 0x0000, + 0x0aea, 0x3b87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6904, 0x236e, 0x0000, 0x0000, 0x0000, 0x0000, 0xca86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c2b, 0x9107, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b05, + 0x286e, 0x2e86, 0x0000, 0x0000, 0x0000, 0x0000, 0x3aeb, 0x5a44, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3baa, 0xa307, 0x0000, 0xddc6, + 0x0000, 0x0000, 0x0b09, 0x0000, 0x36c9, 0x0185, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53ea, 0x7ca6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fe8, 0x02c6, + 0x0000, 0x0000, 0x61c8, 0x5525, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7eab, 0x5304, + 0x0000, 0x75c6, 0x0000, 0xa8a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2c8b, 0x0000, 0x0000, 0x0405, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1aec, 0x2424, 0x0000, 0xf6e6, 0x0da8, 0x3846, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5828, 0x0000, 0x0000, 0x5305, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ac7, 0x0000, 0x0000, + 0x27cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7809, 0xea06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ce9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1dec, 0x6127, 0x0000, 0x0346, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2eed, 0x33c4, 0x0000, 0x0227, 0x0000, 0x0000, 0x0000, 0xa8c7, + 0x0000, 0x7767, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6eea, 0x7804, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5889, 0x58c5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x72e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x3eca, 0x2306, + 0x00f5, 0x05a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x6128, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3344, 0x0000, 0x8ac7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x33cb, 0x2aa5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6267, 0x0000, 0x0000, 0x0000, 0x3684, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd567, 0x4ca9, 0x2f26, + 0x0c0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x3864, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5506, 0x0000, 0x3c67, 0x728a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7526, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c65, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0a53, 0x0000, 0x0000, 0x52e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x87e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3ee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0129, 0x0e24, 0x0d0a, 0x2884, 0x0000, 0x3987, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x74e4, 0x57c9, 0x3647, + 0x3ca9, 0x7ec7, 0x76aa, 0x34e4, 0x0000, 0x7087, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfc46, 0x47cc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x96c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x04d4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7fc6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x11ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfda7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4168, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4e25, 0x0000, 0x0000, 0x3528, 0x04a7, + 0x0000, 0x0000, 0x0000, 0xf2e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x44eb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1504, 0x0000, 0x0000, 0x7e48, 0x0000, 0x0000, 0xf946, + 0x0000, 0x0000, 0x0000, 0x0b67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x428a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xeb87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1e0a, 0x01e6, 0x0000, 0x0000, 0x0000, 0x9966, 0x0000, 0xbfc6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x310b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x51e7, 0x4649, 0x3167, 0x0000, 0x0000, + 0x0000, 0x3ea4, 0x7f68, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa6, + 0x216b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8966, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x768a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x39cd, 0x0e44, 0x0000, 0x0000, + 0x204c, 0x3286, 0x0000, 0xd6a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0a48, 0x84a7, 0x0000, 0x5a87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8da6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7fac, 0x6926, 0x0000, 0x7fa4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d09, 0x2ea7, + 0x04b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x4684, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4026, 0x0000, 0x0000, 0x0000, 0x6724, + 0x0000, 0x0000, 0x7069, 0x0000, 0x0000, 0x6146, 0x0000, 0x0000, + 0x0198, 0xb127, 0x0000, 0x8b87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e4a, 0x4426, 0x0000, 0x00a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1807, 0x0000, 0x0000, + 0x5f68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5e6a, 0x5ee5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2e47, 0x0000, 0x9aa7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x254d, 0x0ae4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x03f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x65c7, 0x7bec, 0x0000, 0x5ea9, 0x0724, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4384, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4c08, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ec4, 0x0000, 0x0000, + 0x0000, 0x70c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x4528, 0xd087, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x45e4, 0x0792, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3fea, 0x0000, 0x0000, 0x5465, 0x0000, 0x0000, 0x138b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58a5, 0x0000, 0x5746, + 0x0000, 0x0000, 0x0000, 0xda26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5945, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19c8, 0x0107, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6104, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9f07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8466, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32c8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7664, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x150a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6cc4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x454c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6205, 0x7188, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3188, 0x2cc6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0054, 0x1c87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x69a4, 0x01c9, 0x0000, 0x598c, 0xe386, + 0x4a48, 0x0000, 0x0a2e, 0xb287, 0x0000, 0x1425, 0x0000, 0x61c4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0811, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7cca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8266, + 0x0000, 0xbb06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x61ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6629, 0x8b46, 0x0000, 0xe2c7, 0x77cc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6584, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1168, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1d88, 0x5067, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9286, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa746, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x06c5, 0x0000, 0x0000, 0x0000, 0x2004, + 0x0000, 0x0000, 0x2be9, 0x0000, 0x776c, 0xeba6, 0x0000, 0x3aa5, + 0x0000, 0x0000, 0x0000, 0x9ec6, 0x0000, 0x5d04, 0x0000, 0x2726, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x324a, 0x7927, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0648, 0x0000, 0x0000, 0x0000, 0x0000, 0x4784, 0x0000, 0x0000, + 0x0000, 0x0000, 0x69ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1f08, 0x0566, 0x0000, 0x2e25, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5fc5, 0x0000, 0x2d65, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x54c6, 0x0000, 0x0000, 0x332c, 0x2046, 0x0a54, 0x1f25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0409, 0x3125, 0x0000, 0x6285, + 0x0000, 0x0000, 0x0000, 0xa026, 0x3fad, 0xf607, 0x0000, 0x0000, + 0x0000, 0x0000, 0x04ef, 0x2466, 0x0000, 0x0000, 0x0000, 0x49a6, + 0x0000, 0x0000, 0x06cd, 0x8467, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7da5, 0x0000, 0xc7c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x068a, 0x1086, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2906, 0x0000, 0x0000, + 0x0000, 0x0000, 0x15a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0833, 0xb066, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x374d, 0x0000, 0x694b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x42c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69aa, 0x1a46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6f8a, 0x0000, 0x0000, 0x1be6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4228, 0x0000, 0x0000, 0x0000, 0x64e9, 0x0000, 0x112f, 0x1b44, + 0x0000, 0xb486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2986, + 0x52ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x098e, 0xbda7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3445, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c28, 0x2f67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12a6, 0x024a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc7, + 0x2608, 0x11c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x63e9, 0x73a7, 0x186a, 0x0665, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5608, 0x0000, 0x0000, 0x0000, 0x0000, 0x5724, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9226, 0x5dec, 0x0000, + 0x0000, 0x0000, 0x388a, 0x7427, 0x0000, 0x1ba5, 0x0000, 0xb3a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7768, 0x9c67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1806, 0x0000, 0x1084, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6c27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5fe4, 0x5409, 0x0546, 0x0000, 0x0000, + 0x0000, 0x8347, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2e08, 0x0586, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4744, 0x03ac, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4145, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xbf27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5c6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd066, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x108c, 0x3fe6, 0x0000, 0x1146, 0x1a09, 0x7f84, 0x0000, 0x0000, + 0x02e8, 0x46a4, 0x0000, 0x2b06, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7344, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1e06, 0x0000, 0x0000, 0x33e9, 0x1566, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3248, 0x0000, 0x0000, 0x5e46, 0x03ed, 0x5984, 0x0000, 0x7ac5, + 0x5b68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6f08, 0x0000, 0x0000, 0x0000, 0x646a, 0x69e5, 0x0000, 0x0000, + 0x66e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6226, + 0x0000, 0x0000, 0x0058, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4288, 0x0000, 0x0000, 0x5527, 0x0000, 0x0000, + 0x274c, 0x0000, 0x3008, 0x5584, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5129, 0x37e7, + 0x0000, 0xe346, 0x7de8, 0x0000, 0x282a, 0x0000, 0x0849, 0x2d07, + 0x0000, 0x0000, 0x0000, 0x3025, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7084, 0x0928, 0x1fc5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5568, 0xf4e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0ad3, 0x0000, 0x0000, 0x5aa4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1886, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5a68, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7c48, 0x4e66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f88, 0x0846, + 0x0000, 0x0000, 0x0000, 0x0000, 0x19aa, 0x0484, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76c6, 0x0000, 0x0000, + 0x0000, 0x6ee4, 0x0df4, 0x0000, 0x0000, 0x67e7, 0x308a, 0x14a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1367, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x618a, 0x5e67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7049, 0x1246, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x05a4, 0x00ec, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4be4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x082c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b0b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4da9, 0x4b04, 0x0000, 0x2de5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4626, + 0x0000, 0x45e6, 0x0000, 0x4926, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5406, + 0x13a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x5947, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3906, 0x0000, 0x73a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0269, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb826, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e2b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x08b1, 0x39e7, 0x0000, 0x0000, + 0x0a4d, 0x1826, 0x004e, 0x3ae6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4f28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8f87, + 0x102c, 0xae07, 0x43c8, 0x6467, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x36c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d64, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1da4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0827, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x466c, 0x0000, 0x0000, 0x0000, 0x012c, 0x3784, 0x0000, 0x0000, + 0x056a, 0x9d87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x796a, 0x0000, 0x0000, 0x5766, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8b86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67a4, + 0x1e4c, 0x0000, 0x0000, 0x4a26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1928, 0x0487, 0x1c0c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2c6, 0x0000, 0xe1c6, + 0x0000, 0x4164, 0x0000, 0x0000, 0x1a92, 0xec26, 0x0000, 0x0000, + 0x0000, 0x6766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff66, + 0x110a, 0x1e46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2388, 0x1287, 0x014e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9c26, 0x0000, 0x0000, 0x0000, 0x64e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0bd3, 0x0000, 0x0000, 0x0000, 0x3dc8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbcc7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3f28, 0xa347, 0x0000, 0x0000, 0x5f8a, 0x2185, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3004, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd4e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x13e9, 0x7884, 0x48e8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4064, 0x0000, 0x0000, 0x6ac9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8c66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1104, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xdec6, 0x0000, 0x0000, 0x0589, 0xa0e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5b85, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2728, 0x54e7, 0x0000, 0x0000, 0x278e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4a66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5e29, 0x1266, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x112a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x33c5, 0x0000, 0xdc47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ae6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xdaa6, 0x0000, 0x0000, 0x0000, 0xcb66, 0x0000, 0x3d04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a64, 0x0000, 0x0000, + 0x0000, 0x0000, 0x548c, 0x0000, 0x0000, 0xcce7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c2c, 0x0000, + 0x01d0, 0x87a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x61ab, 0x3087, 0x0000, 0x6a24, 0x0768, 0x1ca7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8b66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0d90, 0x0000, 0x0000, 0x0000, 0x0000, 0x5786, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb0c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5284, 0x5c2a, 0x8167, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x412c, 0x5647, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x220a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x100d, 0x5ba4, + 0x0000, 0x0000, 0x22aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0093, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7508, 0xf7a6, 0x0516, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x60e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2647, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a65, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c65, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1645, 0x0000, 0x0000, 0x0000, 0xf626, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5306, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30c4, + 0x0000, 0x0000, 0x0000, 0xbcc6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3da7, + 0x0000, 0x0000, 0x04b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c0e, 0xc027, + 0x0000, 0x0000, 0x150b, 0x3b25, 0x0000, 0x0000, 0x0000, 0x0d25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4e6c, 0x36c5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0178, 0x9d06, 0x0000, 0x0000, 0x0000, 0xcb47, 0x0000, 0x6164, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0328, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2684, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5ca7, 0x0000, 0x53e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5128, 0x12c7, 0x0000, 0x0000, 0x0c69, 0x4126, 0x0000, 0x0000, + 0x006e, 0x2a65, 0x0000, 0x0000, 0x0000, 0x43e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa9c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d4c, 0x1366, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcb86, + 0x0000, 0x5fc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67a7, + 0x0000, 0x0000, 0x0000, 0xb4a7, 0x0000, 0x0000, 0x0000, 0x3cc5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x004c, 0xcc67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x45ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb6a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4ae5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xac06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0ba9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37e6, + 0x0000, 0x0000, 0x084d, 0xb307, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x266e, 0x0000, 0x33ab, 0x4c24, 0x0000, 0x0000, + 0x0000, 0x7444, 0x0000, 0x0000, 0x0000, 0x0000, 0x02ae, 0x7565, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7845, 0x008b, 0x5165, + 0x0000, 0x0000, 0x0000, 0x0000, 0x01f6, 0x4865, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4aa7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7aa4, 0x0000, 0x0000, 0x0000, 0x4424, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc2c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x640a, 0x0226, 0x0000, 0x0000, + 0x0231, 0x0000, 0x716a, 0x0000, 0x0000, 0x0000, 0x0dc8, 0x0000, + 0x0000, 0x0000, 0x06b3, 0x3945, 0x0012, 0xf7e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x376a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x738a, 0xe686, 0x0000, 0x9a06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x08ca, 0x40e4, 0x0000, 0x7c24, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01ce, 0x4247, + 0x0000, 0x7165, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ba6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x06e8, 0x0000, 0x1789, 0x4266, 0x070c, 0x0000, 0x0000, 0xd3a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x372c, 0x0000, 0x180a, 0x7406, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1e24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbea7, 0x0000, 0x2064, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4005, 0x172d, 0x0000, 0x3a09, 0xc867, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8b27, 0x2389, 0x5a07, 0x0000, 0x0000, + 0x5a48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01b6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0097, 0x2426, + 0x056e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd3c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x182b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3327, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x268a, 0x0000, + 0x0000, 0xe8e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x62c6, 0x0000, 0x0000, 0x5d28, 0x7d45, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2427, 0x088b, 0x3ba6, 0x01b5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2de4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4206, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x56c4, 0x0749, 0x4487, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x55ec, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaa7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7d8a, 0x52a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x37a9, 0x0000, 0x0000, 0x0000, 0x0954, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1aa7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6846, + 0x0000, 0x0000, 0x17ab, 0xd107, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc186, 0x180f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x040c, 0x5de4, 0x0000, 0x09c5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x440b, 0xc847, 0x0d31, 0x3b26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x138f, 0xf3a6, + 0x0000, 0xde67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f66, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ae, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6e67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3d06, 0x0000, 0x4d25, 0x0000, 0x0000, 0x064b, 0x0000, + 0x56cb, 0xbdc7, 0x6229, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4444, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x02d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f06, + 0x0000, 0x0000, 0x0000, 0x4825, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1708, 0x74e7, 0x0e49, 0x5a06, 0x0000, 0x0000, + 0x0c8e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0070, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0be8, 0x01c7, 0x0000, 0x7924, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5ae6, 0x0000, 0x7fa5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x94c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1324, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x63c5, 0x0000, 0x4964, 0x0000, 0x0000, + 0x56e8, 0x0547, 0x0000, 0xf126, 0x11ac, 0x77a5, 0x0000, 0x3a27, + 0x00f2, 0x7187, 0x0000, 0x0000, 0x3848, 0x1285, 0x0000, 0x0000, + 0x0000, 0x91c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1faa, 0x0000, + 0x7d6b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x05c9, 0x0000, 0x0000, 0x6de4, + 0x0000, 0x64c6, 0x0000, 0xe987, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe6c6, 0x0000, 0x0000, 0x0000, 0x5b46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x78a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3f48, 0x0000, 0x0000, 0x0000, 0x014f, 0x0000, + 0x0000, 0x0000, 0x02ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x780a, 0x2506, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4966, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0297, 0x0000, 0x0000, 0x0000, 0x040a, 0x7ac7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x75a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x3665, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08e8, 0x3466, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x560c, 0x5c87, + 0x0bc9, 0x2b27, 0x0000, 0x0000, 0x54ea, 0x48c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7626, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4369, 0x0000, 0x5588, 0xf927, 0x0000, 0x0000, + 0x0000, 0x5266, 0x0000, 0x48e6, 0x0000, 0x6464, 0x0000, 0x5805, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c5, 0x16a8, 0x2b67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3c27, 0x32aa, 0x1965, 0x0000, 0x0000, + 0x0c6b, 0x6746, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3d86, 0x0000, 0x3306, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5324, 0x2ba9, 0x1127, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4c8b, 0x9ec7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2e65, 0x0000, 0x0000, 0x0000, 0x6747, 0x0000, 0x0000, + 0x0000, 0x0000, 0x02b7, 0xbfe6, 0x6b4b, 0x2ec4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x26e9, 0x0000, 0x0000, 0x0000, + 0x7bea, 0xf606, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dc9, 0xcde6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6026, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5046, 0x0000, 0x0000, 0x13aa, 0x0f66, 0x0000, 0x0000, + 0x0000, 0xb367, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x09f4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb226, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0d4d, 0x3126, 0x3ccb, 0xd347, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5e8a, 0x1705, 0x0000, 0x0000, 0x0000, 0xacc6, + 0x0000, 0x0000, 0x0000, 0x15e5, 0x0000, 0xbaa6, 0x0000, 0x7de6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1b66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4068, 0x0c67, 0x0000, 0x6a65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9fc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7d04, 0x7aca, 0x0000, 0x5f48, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71ca, 0xe366, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x714a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd846, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9426, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x050a, 0x0000, + 0x0000, 0x0000, 0x1269, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x514c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x070b, 0x03c6, 0x0000, 0x4524, 0x0000, 0x0000, 0x028e, 0x4aa5, + 0x0000, 0xc9c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28e6, + 0x0630, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x09ca, 0x0000, 0x0000, 0x6247, 0x10cf, 0x0000, 0x0000, 0x0000, + 0x018b, 0x3e07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0548, 0x1987, 0x0000, 0x4cc4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1272, 0x1ee5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x75c8, 0x0000, 0x0000, 0xfce6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0869, 0x23a5, + 0x0000, 0x0000, 0x0117, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa3a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0530, 0x4286, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd387, + 0x0000, 0x0000, 0x0000, 0x0000, 0x06ef, 0xd507, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7b88, 0x0000, 0x0000, 0x0000, 0x1bee, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0730, 0x8c67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdc87, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfbe6, + 0x0000, 0x0000, 0x0000, 0xc7e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1026, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x000c, 0x3f06, 0x4dab, 0x9c07, 0x2829, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xaea7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x372d, 0x0967, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6929, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56ac, 0x0000, + 0x514a, 0x2745, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7224, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e0a, 0x0000, + 0x3b68, 0x0000, 0x0000, 0x7f05, 0x1668, 0x4b47, 0x0dea, 0x2926, + 0x0000, 0x0000, 0x0000, 0xe907, 0x0000, 0x0000, 0x0000, 0x0000, + 0x69cc, 0xec06, 0x0000, 0x0000, 0x6189, 0x0000, 0x0000, 0x0000, + 0x0a4c, 0x0000, 0x0000, 0x0000, 0x0000, 0x66a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7784, 0x0e0a, 0x0000, 0x0000, 0x0000, 0x20aa, 0x38e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a29, 0x3026, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1712, 0xe926, + 0x0000, 0x0000, 0x5a29, 0x0205, 0x0000, 0x3cc4, 0x0000, 0x0000, + 0x0000, 0x2126, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4da5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d49, 0x0000, + 0x0000, 0x65e5, 0x0000, 0x0000, 0x5ce8, 0xf867, 0x19a8, 0x18a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2746, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1b6a, 0x3886, 0x49aa, 0x0000, 0x1609, 0x29a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ac6, 0x05eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6c08, 0x0000, 0x0000, 0x2586, 0x0000, 0x9aa6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xd2a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x00e8, 0x10e7, 0x3169, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4ee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x686a, 0x0000, 0x0000, 0x0000, 0x4bc8, 0x3967, 0x0000, 0x7a66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c85, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13c8, 0x2e84, + 0x0000, 0x6ac5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xba87, 0x0000, 0x0000, 0x0000, 0x6826, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd967, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1865, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5b48, 0xf9a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2148, 0x5de5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66a7, + 0x0000, 0x0000, 0x0000, 0x5966, 0x0000, 0x0000, 0x0000, 0x6c86, + 0x0000, 0x77e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x83a7, 0x0000, 0x0000, + 0x0000, 0x76c5, 0x0000, 0x8726, 0x0000, 0xc767, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0774, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05e7, 0x5589, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8c6, 0x0000, 0x6126, + 0x0000, 0x7f87, 0x0000, 0x0000, 0x0000, 0x88c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bc4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1e4e, 0xe287, 0x0000, 0x0000, + 0x0000, 0x78e5, 0x0000, 0x0000, 0x0016, 0x3b24, 0x23ca, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63c4, 0x4ea8, 0x1bc4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x402b, 0x2a25, 0x264d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1248, 0x0000, + 0x0000, 0xcdc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a24, + 0x0000, 0x0000, 0x0000, 0x41a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x256a, 0x14a7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8506, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4a84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1dcb, 0xd9a7, 0x0000, 0x9a27, 0x386e, 0xe406, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5ba9, 0x3de5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9686, 0x0000, 0x0000, 0x0000, 0x45e5, 0x2aaa, 0x0000, + 0x1c08, 0x02a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0c29, 0xb4c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5b26, 0x0000, 0x0000, 0x46a8, 0x5ae4, + 0x0000, 0xf386, 0x0000, 0x0000, 0x0000, 0x40e5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9526, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62cc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2868, 0x0047, 0x192e, 0x0000, 0x0000, 0x0765, 0x0000, 0x0000, + 0x0452, 0x0000, 0x7008, 0x7824, 0x0000, 0xa0a6, 0x0000, 0x0000, + 0x05d4, 0x0000, 0x3bed, 0x0000, 0x0000, 0x0000, 0x0000, 0x44a7, + 0x0000, 0x52e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e4, + 0x0828, 0x5544, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0166, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4144, 0x0000, 0x0000, + 0x0000, 0x0684, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fe4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0fee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a9, 0x1847, + 0x0000, 0x0000, 0x4f69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0e94, 0x0000, 0x066e, 0x0000, 0x0000, 0x6b44, 0x0000, 0x8666, + 0x42e8, 0x3805, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c47, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x17e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2167, + 0x542a, 0x27e4, 0x0bcc, 0x0b87, 0x0000, 0x44e6, 0x0000, 0x0000, + 0x1b49, 0xafc7, 0x08aa, 0x2005, 0x0000, 0x0000, 0x7708, 0xf786, + 0x0000, 0x6824, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04f1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a32, 0x0000, + 0x0000, 0x0000, 0x2c0e, 0x4f47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4d44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0931, 0x2a64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x152d, 0x5ee4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8667, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c48, 0x5126, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3048, 0x2a05, 0x0000, 0x0000, 0x0000, 0x8166, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7385, 0x0000, 0x0927, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xf667, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa807, 0x0000, 0x3ea6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05c8, 0x63e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2287, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6045, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb306, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0337, 0x0000, + 0x0000, 0xfa27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bc4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b6c, 0xb6a7, + 0x1a68, 0x4b44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8586, 0x0000, 0x0000, 0x0f89, 0x46e5, + 0x0000, 0x0000, 0x0000, 0x7dc7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5be4, 0x658a, 0x0000, + 0x0000, 0x2867, 0x0000, 0x0000, 0x0000, 0x2605, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1284, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4165, 0x0000, 0x0000, 0x1212, 0x5b47, 0x0000, 0x0000, + 0x7aa8, 0x0000, 0x0000, 0x0de5, 0x0000, 0x0000, 0x108a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3785, 0x0000, 0xdf67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0xff26, 0x7488, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7525, 0x0000, 0x7c66, 0x0000, 0x0000, 0x1fea, 0x0000, + 0x0000, 0x1145, 0x6bea, 0x78a4, 0x0000, 0x0000, 0x4eec, 0x0000, + 0x0000, 0x0000, 0x0000, 0xae46, 0x0216, 0x5184, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7026, 0x0000, 0x2825, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7347, 0x0000, 0x4d65, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x698c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xcf66, 0x0000, 0x8987, 0x0000, 0x0000, 0x0000, 0x92a6, + 0x0000, 0xf146, 0x2188, 0x1f65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30c8, 0x58e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e05, + 0x0000, 0x0000, 0x0000, 0xf9c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ca6, + 0x0000, 0x0000, 0x0000, 0x4a44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2184, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4665, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0050, 0x04e6, 0x0000, 0x0000, 0x0000, 0xa686, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x084c, 0x6387, + 0x0000, 0x0000, 0x0000, 0x0000, 0x41e9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0c46, 0x0000, 0x0000, 0x480b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0f4d, 0x0000, 0x2289, 0x04a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2444, 0x0000, 0x0000, 0x5f4a, 0xa187, 0x0000, 0x0000, + 0x0000, 0xa467, 0x0000, 0xf466, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a48, 0x1067, + 0x0000, 0x0000, 0x0000, 0x0000, 0x63ab, 0x0000, 0x04cf, 0x0000, + 0x0176, 0x3d07, 0x0000, 0x7504, 0x0000, 0x3726, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4a67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7be6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a4, + 0x0000, 0x4167, 0x0000, 0x0000, 0x0000, 0x70e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a12, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x360e, 0x0000, 0x0000, 0x2744, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1d08, 0xab07, 0x42c9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0369, 0x0000, 0x0000, 0x0000, + 0x018e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x210b, 0x5c07, 0x0000, 0xcf26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ba6, 0x0000, 0x0fe7, + 0x0000, 0x0000, 0x0000, 0x9706, 0x0000, 0xa1c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2d88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0fab, 0xa6c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6309, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6a29, 0x5764, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7904, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb4c6, 0x0f88, 0x31a7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5025, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0fe8, 0x2b46, 0x0000, 0x0000, + 0x40a9, 0x0965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x80e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb7c6, 0x0000, 0x7745, 0x0000, 0x0000, 0x2b2a, 0x2606, + 0x3349, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xe3c6, 0x0000, 0x0000, 0x0000, 0xe0c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x142b, 0xe927, 0x08ac, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7346, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x43a4, 0x0000, 0x4e65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b08, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51c5, 0x0000, 0x0000, + 0x178a, 0x2226, 0x0000, 0x0000, 0x0000, 0x43e4, 0x0000, 0x3347, + 0x0aed, 0x0000, 0x0000, 0x75a4, 0x0000, 0x0000, 0x174b, 0x1f44, + 0x0000, 0xdf26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa766, + 0x39c8, 0x7827, 0x0000, 0x6184, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4225, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3b48, 0x9f87, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0314, 0x7685, 0x0000, 0x0000, + 0x0000, 0x0000, 0x522c, 0x5e26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x75ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5845, 0x7b2b, 0x68a5, 0x0000, 0xe8a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2488, 0x74a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5fe7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5024, 0x0000, 0x0000, 0x0000, 0x9a26, 0x0e51, 0x0000, + 0x6e69, 0x0000, 0x224a, 0xfb06, 0x0000, 0xe046, 0x23ac, 0x0000, + 0x0000, 0x4764, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x66e8, 0x7805, 0x020c, 0x4d27, + 0x0000, 0x35e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x46eb, 0x0000, 0x3229, 0x0000, + 0x004a, 0x61a6, 0x350b, 0x0425, 0x0000, 0xfac7, 0x0000, 0x0000, + 0x2248, 0x0000, 0x0000, 0xeb47, 0x0000, 0x6344, 0x0000, 0x0000, + 0x0000, 0xe707, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3808, 0x05e6, 0x0000, 0x0000, 0x0000, 0x95e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3429, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x24e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7f65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3a0b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1a06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x374a, 0x0000, 0x744a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4088, 0x0886, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8d06, 0x0d0c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6265, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3d68, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x58e6, 0x0000, 0x0000, 0x0130, 0x0000, + 0x0cab, 0x3725, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x140a, 0x3187, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x54e5, 0x28c9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8d07, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c26, 0x0000, 0xe087, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2a48, 0x47c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8906, 0x3d6a, 0x32a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8727, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd187, 0x0000, 0x96e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7929, 0x2c45, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4ac8, 0x0000, 0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xdd87, 0x5dea, 0x0000, 0x04ad, 0x0000, + 0x0000, 0xe486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2026, 0x17e9, 0x48c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x62ca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x05ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x382a, 0x2646, 0x7e6b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2569, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x68a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x014a, 0x2925, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa506, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13d2, 0x5224, + 0x0000, 0x94e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00f8, 0x0000, 0x79c8, 0xf266, 0x0000, 0xd027, 0x0000, 0x0000, + 0x0000, 0x0000, 0x010f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2408, 0x0845, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dca, 0x15e7, + 0x0000, 0xcd66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4748, 0x5dc5, 0x59ea, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x01ab, 0x0000, 0x0000, 0x9be6, 0x0000, 0x0000, + 0x1ba8, 0x2c87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x56cc, 0xe226, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3364, 0x0000, 0x0585, + 0x03ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a7, 0x0000, 0x5427, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa2e6, 0x580a, 0x2565, 0x0000, 0x0000, 0x0000, 0x2266, + 0x0000, 0x0000, 0x1b08, 0xdc27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa4e7, + 0x0000, 0x0000, 0x358c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4045, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x062e, 0x06e4, 0x0cd2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d85, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2f6b, 0x0000, 0x732a, 0x7964, 0x0689, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9d46, 0x0000, 0x0000, + 0x0000, 0x8446, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5204, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1207, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xaba7, 0x014d, 0x4ba7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x68c5, 0x0000, 0x7e85, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1348, 0x2da7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6546, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3deb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20a8, 0x0000, + 0x42ea, 0x1f06, 0x0000, 0x2cc4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x46e6, 0x37a8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5726, 0x0000, 0x0000, 0x0000, 0xa706, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72aa, 0x15c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7985, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2be4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x23c4, 0x0000, 0x0000, 0x0709, 0x36c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf3c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c44, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x792a, 0xffe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6646, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6c45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7984, + 0x0000, 0x2c66, 0x0000, 0x0000, 0x0000, 0x0e85, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2168, 0x17a6, 0x0d0b, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc9a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0e86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6ec6, 0x0000, 0x0ac4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x05b6, 0x0000, 0x0000, 0x6be6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf426, 0x384a, 0xdda7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2fae, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8ec6, 0x0000, 0x94a6, 0x0000, 0x0000, 0x0000, 0x52e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69c5, + 0x0000, 0x0000, 0x420a, 0x0000, 0x312b, 0x2f45, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x28ae, 0x7067, 0x5509, 0xeb07, + 0x0000, 0xdd46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5104, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x172b, 0x14e7, + 0x0000, 0xffc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1f29, 0xcda7, 0x0000, 0x1304, 0x0000, 0x0000, 0x0000, 0xd8a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7dc5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3485, 0x0000, 0x0000, 0x0000, 0x6807, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2be5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00d1, 0x0505, 0x0000, 0x0000, 0x0788, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa946, 0x5d29, 0x5a84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6088, 0xf3e7, + 0x226b, 0x0d87, 0x4fe9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3e88, 0xdbc7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xebc6, 0x58e9, 0x19a5, 0x0000, 0x0000, 0x78a8, 0x6c26, + 0x0000, 0x0000, 0x0000, 0x42c5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5669, 0x0000, 0x0000, 0x0000, 0x1da9, 0x3766, 0x0000, 0x6dc7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb046, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7c64, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4844, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e2a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66c4, + 0x0000, 0x7365, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7384, 0x0000, 0x0000, + 0x0000, 0x5325, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xeda7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76c7, 0x3e4d, 0x0ba5, + 0x0000, 0x0000, 0x0000, 0xb567, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5d67, 0x6789, 0x6286, 0x320b, 0x1707, 0x0000, 0x18c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7c47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4ce8, 0x2805, 0x0000, 0x0000, + 0x0000, 0x7a45, 0x6969, 0x7124, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6a48, 0x79c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2227, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1926, 0x0000, 0x0000, + 0x0000, 0x8227, 0x0000, 0x0000, 0x0000, 0x8206, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56a5, + 0x1d4b, 0x60c6, 0x0000, 0x2a04, 0x0000, 0xaee7, 0x02d4, 0x0000, + 0x64a8, 0x6445, 0x6129, 0x14e5, 0x62a9, 0x0000, 0x0000, 0xd526, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0147, 0x01b7, 0x0165, 0x0000, 0x0000, + 0x1988, 0x2104, 0x0000, 0x0000, 0x070a, 0x0000, 0x0000, 0xefa6, + 0x0000, 0x3ac5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x95c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7eeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5965, + 0x0000, 0x0000, 0x7d49, 0x0000, 0x0000, 0x0000, 0x254a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c64, + 0x0000, 0x0000, 0x5a88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6007, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8546, 0x0000, 0x0000, + 0x0000, 0x0000, 0x086e, 0x0000, 0x15d2, 0x7684, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5f84, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0969, 0x1126, 0x0000, 0x5e84, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7e08, 0x6944, 0x506b, 0x0000, 0x0000, 0x0000, + 0x086b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x10e8, 0x66a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c0c, 0x0000, + 0x30aa, 0x2c67, 0x0000, 0x0000, 0x624a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xff86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x80c6, 0x0000, 0x0000, 0x0000, 0x8766, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9946, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2c88, 0x27e6, 0x010a, 0x30a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b45, + 0x0000, 0x0000, 0x0000, 0x3564, 0x0000, 0x33a6, 0x0000, 0x5b44, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ea5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63e7, + 0x0000, 0x0000, 0x0000, 0xe027, 0x0000, 0x0000, 0x0000, 0x2844, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0b31, 0x2447, 0x004b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5404, 0x576c, 0xe886, 0x0000, 0x0000, 0x0000, 0x5c25, + 0x0000, 0x0000, 0x0000, 0xc986, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1225, + 0x0f8c, 0x6e87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3064, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x54e6, 0x0000, 0x44c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa327, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4804, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55c6, 0x0000, 0x4be6, + 0x0000, 0x0000, 0x04b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0ca8, 0xd7c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x77c4, 0x0000, 0x0000, 0x0000, 0x70e5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x126c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2dea, 0x0000, 0x0000, 0x0000, 0x0000, 0x5646, 0x0000, 0x5824, + 0x222d, 0x0000, 0x0000, 0x6ee7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7186, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9da6, + 0x0000, 0x0000, 0x3e2c, 0x9a66, 0x0000, 0x35a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x710a, 0x0000, 0x0197, 0x0fa6, 0x0000, 0x0000, + 0x0000, 0x6924, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b86, + 0x7648, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x600a, 0x0000, 0x6049, 0x1406, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x21ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x59eb, 0x0000, 0x5769, 0x48a7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bc9, 0x2607, + 0x0000, 0x4ee4, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e08, 0xbd27, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7aa7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3644, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x44c6, 0x0000, 0x0000, 0x3b8a, 0x7447, + 0x670a, 0x4525, 0x0000, 0x0000, 0x3888, 0x0000, 0x12e8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6084, 0x0000, 0x2485, + 0x10ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3f09, 0x0000, 0x0000, 0x8826, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19cb, 0x3127, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1d09, 0x7204, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a26, + 0x0000, 0x0000, 0x5988, 0x0c47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5ba5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x026a, 0x0000, 0x0000, 0x0000, 0x0000, 0x5385, + 0x0000, 0x2d04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x520c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0138, 0x5ac7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0909, 0x0000, + 0x0000, 0x9ea6, 0x0000, 0x0000, 0x39e9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb5c7, 0x0000, 0xa0e6, 0x1ead, 0x0000, + 0x7ba8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0d69, 0x1487, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x84a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0048, 0x3c85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8ce6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3984, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7484, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4986, + 0x4e28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0986, 0x0b88, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0d0e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5f64, 0x0000, 0x4dc4, 0x0000, 0x0000, + 0x0000, 0x1fa5, 0x0000, 0x4447, 0x0000, 0x0000, 0x0dca, 0x0000, + 0x200a, 0x7287, 0x0000, 0x0000, 0x046c, 0x1a85, 0x0000, 0x0000, + 0x5d49, 0x0000, 0x0000, 0x0000, 0x12ca, 0x0000, 0x0000, 0xb746, + 0x0000, 0x0000, 0x0000, 0xa266, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdc6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x99a6, 0x0000, 0x0000, 0x0000, 0x6605, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13ec, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc8, 0x6ca5, 0x0fcd, 0xd686, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1949, 0x1d04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1a88, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0de8, 0x7d67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd606, + 0x0000, 0x0000, 0x1b0e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4086, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5146, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0731, 0x0c66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x258c, 0x47c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x7fe8, 0x0000, + 0x0000, 0x25c7, 0x0000, 0xe9e7, 0x0000, 0x5b04, 0x1f89, 0x0000, + 0x0000, 0x39a6, 0x0000, 0x0000, 0x0000, 0x2866, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x60e8, 0x39a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x158b, 0x0000, 0x0000, 0x3a04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0932, 0x5ae7, 0x0000, 0x7fe4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4828, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x81a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x230c, 0x54a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x63e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x13e8, 0x0000, + 0x37cb, 0xd847, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3164, 0x0000, 0x0000, 0x0000, 0x0000, + 0x122b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0295, 0x0000, 0x0000, 0x3546, 0x4c0a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7a29, 0x0000, 0x1f4a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0c8b, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b85, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a4a, 0x0985, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x37e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x41c4, 0x0000, 0x0000, + 0x01d7, 0x8c87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1787, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d49, 0x25a7, + 0x0000, 0x0000, 0x0000, 0xd9e7, 0x0000, 0x1644, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d04, + 0x0000, 0x67e6, 0x0000, 0x0000, 0x1a0b, 0x1946, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf446, 0x0000, 0x0000, + 0x0000, 0x0000, 0x408a, 0x6d07, 0x0000, 0x0000, 0x2729, 0x1c04, + 0x0000, 0x0000, 0x030b, 0x0000, 0x0168, 0x4445, 0x0000, 0x0000, + 0x0000, 0xf227, 0x1e48, 0x1e25, 0x05d6, 0x0000, 0x0000, 0x0000, + 0x67c9, 0x9f26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6726, 0x28ea, 0x7dc4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc587, 0x4089, 0x2dc4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf1e6, 0x0000, 0x6744, + 0x0000, 0x0000, 0x0000, 0x0000, 0x116b, 0x2966, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2407, 0x0000, 0x7286, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xec07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb7e6, 0x0000, 0xc446, 0x0000, 0x3144, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf167, 0x0000, 0xd6e7, + 0x0000, 0x5244, 0x1c8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2ec8, 0x0000, 0x0000, 0x0000, 0x0000, 0x5be7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x286b, 0x3e46, 0x0000, 0x84e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1369, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7145, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8e66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d8a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4d04, 0x70c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5688, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66e6, + 0x0000, 0x0000, 0x0000, 0x2624, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5526, 0x0000, 0x0000, 0x0000, 0x0000, + 0x000d, 0x1ac5, 0x7d88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x02ee, 0x0000, 0x0000, 0xd4e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb467, + 0x0000, 0x0000, 0x0271, 0x5946, 0x0000, 0x0000, 0x0000, 0x0000, + 0x080d, 0x5c24, 0x0000, 0x0000, 0x2b29, 0xdbc6, 0x0000, 0x0000, + 0x486a, 0x05e5, 0x0000, 0x0000, 0x436a, 0x1165, 0x0000, 0x0000, + 0x0000, 0x0000, 0x308d, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fa6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f8a, 0x0000, + 0x5d2c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3f08, 0x0d64, 0x0000, 0x6ce4, + 0x0000, 0x0000, 0x0000, 0x1ca4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x70e4, 0x0000, 0x0000, 0x08ec, 0x0000, 0x0000, 0x44a5, + 0x00c9, 0x05e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7a85, 0x6c28, 0x5825, 0x0000, 0x0000, + 0x0000, 0x1427, 0x0000, 0x0000, 0x0000, 0x0000, 0x11e8, 0xa667, + 0x0000, 0x0000, 0x0000, 0xad86, 0x042c, 0x5a85, 0x0000, 0x0000, + 0x0000, 0x0265, 0x0000, 0x0000, 0x0000, 0x3165, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x69c4, 0x1a4c, 0x0000, 0x0000, 0x0000, + 0x0f49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x56e4, 0x7528, 0x3e27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x59c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc5a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1429, 0x0626, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4aa4, 0x0000, 0x0000, 0x0000, 0x88c6, + 0x0000, 0x0000, 0x0000, 0x6564, 0x718b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb7e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x054c, 0xf1e7, 0x0000, 0x0000, 0x0000, 0xfbc7, + 0x084a, 0xfae7, 0x0000, 0x0000, 0x494b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x038b, 0x86a7, + 0x0000, 0x0000, 0x0000, 0x98a6, 0x0000, 0x0000, 0x07cb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xdcc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0336, 0x0000, + 0x3e6a, 0xad87, 0x0000, 0x0000, 0x0c28, 0x0145, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3c25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04a9, 0x10c6, + 0x1368, 0x3cc7, 0x0000, 0xb446, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x49e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x26c8, 0x92a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x3329, 0x9087, + 0x0000, 0x0000, 0x0000, 0x3c46, 0x0000, 0x0000, 0x20e8, 0x73c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6486, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9e27, 0x0000, 0x33e4, 0x0000, 0x2b85, + 0x0000, 0x0000, 0x0000, 0x7e84, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x14b2, 0xe166, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3304, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2029, 0xa526, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e46, + 0x0000, 0x0000, 0x0000, 0x1f24, 0x0000, 0x0000, 0x0000, 0x4805, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1cee, 0x0000, 0x0000, 0x0000, + 0x2409, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3629, 0xb9e7, 0x472c, 0xd1c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0aec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x616c, 0x4347, 0x0000, 0x0000, 0x0000, 0x33a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3de8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x17ea, 0x06c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4248, 0x46e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x65e9, 0x4c26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7089, 0x0000, 0x0000, 0x0000, 0x0000, 0xa6e7, + 0x0000, 0xd786, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5005, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe4e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b44, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x89e6, 0x0000, 0xbc07, 0x51ec, 0x8146, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2625, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9a87, 0x0000, 0x0000, + 0x35a8, 0x1b26, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c6a, 0x22c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5886, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe606, 0x1d2c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfc26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xba06, 0x0000, 0x0000, + 0x0000, 0xc6c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe106, + 0x0390, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x05a9, 0x0000, 0x0491, 0x0000, 0x02ce, 0xb447, + 0x2f48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbc66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x04eb, 0x0000, 0x0000, 0x83c6, 0x5aa8, 0xf467, + 0x0000, 0xfe86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x700c, 0xe9e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x64a9, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x022b, 0x5905, 0x0000, 0x4d24, 0x06e9, 0x2806, + 0x21e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x37aa, 0x0000, 0x170b, 0x0ce7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5269, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5486, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2a2b, 0x0000, 0x0000, 0x0000, + 0x3f4c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x696a, 0x09a5, + 0x0000, 0x3944, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb187, + 0x2fca, 0x0da6, 0x11cb, 0x2946, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0af1, 0x0000, 0x0000, 0x0000, 0x3d8b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ae6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a6b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8326, 0x0000, 0x2827, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf827, 0x0000, 0x0000, 0x0f48, 0x0000, + 0x0000, 0x1d44, 0x0000, 0x0000, 0x0000, 0x8946, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x44a8, 0x1fa7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4149, 0x1066, + 0x0000, 0x0000, 0x12ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3f64, 0x0000, 0x0000, 0x0000, 0x0000, 0x6569, 0x4ec6, + 0x0000, 0x0000, 0x0000, 0x2ae4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3804, 0x49ea, 0x38e7, 0x0000, 0xaca7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x47e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x92e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a6, 0x0000, 0x0000, + 0x0000, 0xdc26, 0x0000, 0x95c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x252a, 0x8ce7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x54c4, 0x0000, 0x0000, 0x1492, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x046e, 0x0000, 0x05ad, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0f2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0fa4, 0x0000, 0x0000, 0x0000, 0xcac6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a24, 0x1228, 0x0000, + 0x0000, 0x0000, 0x794b, 0x6307, 0x0000, 0x0000, 0x0000, 0x5964, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf9e7, 0x0000, 0x0000, + 0x0948, 0x4265, 0x0000, 0x0000, 0x0830, 0x0000, 0x0000, 0x0000, + 0x0d2d, 0x1b86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7806, 0x0000, 0x0000, 0x0000, 0x0000, 0x0014, 0x0000, + 0x358b, 0x0266, 0x0000, 0x0000, 0x3228, 0x0c07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc766, 0x0e91, 0x0000, 0x7fa8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5dc8, 0xf527, 0x0000, 0x0000, + 0x1289, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x096e, 0x0000, + 0x0000, 0xace6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6169, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4ac4, 0x0000, 0x3507, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x98c6, 0x0000, 0x0000, 0x0000, 0x6d84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x10a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x1768, 0x0000, + 0x0108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x35ab, 0x0000, 0x55a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1088, 0x3b06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7546, 0x0000, 0x0000, 0x6d49, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x60c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0b92, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67c4, + 0x57a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3548, 0x2bc5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b69, 0x0766, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x24ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3727, 0x1468, 0x0087, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1d2e, 0x0000, 0x0000, 0x0000, + 0x0000, 0xf947, 0x0000, 0xd966, 0x0000, 0x0000, 0x3128, 0x0000, + 0x05f4, 0x81c7, 0x0000, 0x0000, 0x0000, 0x26a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2d68, 0x0000, 0x0000, 0x0000, + 0x15ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5348, 0x0000, 0x0000, 0xd167, 0x0000, 0xc806, 0x0000, 0x0000, + 0x0000, 0x6507, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2304, 0x06cc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1f27, 0x0000, 0x0000, 0x0cea, 0x1fc6, + 0x0000, 0x20c5, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x64a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcbc6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x53e5, 0x7988, 0x7ba4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f24, 0x0000, 0x0000, + 0x0000, 0xacc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x60e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x308c, 0x1947, 0x0000, 0x0000, + 0x0000, 0x0000, 0x020d, 0x4606, 0x0000, 0x0000, 0x0000, 0x6927, + 0x0000, 0x0000, 0x46c8, 0x0000, 0x0000, 0x0000, 0x7548, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7205, 0x0000, 0x0000, 0x0000, 0xaa27, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4d4b, 0x1d85, 0x0000, 0xe7c6, + 0x0000, 0x0000, 0x27c8, 0x17c5, 0x0000, 0xac07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ba7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x76e8, 0xf686, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2b09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6a44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x026e, 0x0000, + 0x146a, 0x0aa7, 0x0000, 0x3ce4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x122a, 0x0000, 0x0a73, 0x0000, 0x0000, 0x7ea4, + 0x0000, 0x0000, 0x0000, 0xf047, 0x0000, 0x0000, 0x152b, 0x45a5, + 0x084b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9527, + 0x0a50, 0x0000, 0x2c0a, 0x38c5, 0x0732, 0x0000, 0x0000, 0xa6a7, + 0x3189, 0x0d66, 0x0000, 0x2e45, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1985, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xd546, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3148, 0x9687, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7de5, + 0x0000, 0x0000, 0x0000, 0xd407, 0x0000, 0xbde6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7aa9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8606, 0x0000, 0x0000, 0x0000, 0x5904, 0x0000, 0xcba6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9ee6, 0x0000, 0x0000, 0x0000, 0xc907, + 0x0217, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ca5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1328, 0x0365, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf8e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x068e, 0x0000, 0x02b4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6668, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ab, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6207, 0x0000, 0x0000, 0x0000, 0x0000, + 0x10ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38ca, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6a89, 0xd6e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7704, 0x0000, 0x0000, + 0x0000, 0x0000, 0x470a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3809, 0x0000, 0x0000, 0x0000, 0x0868, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xe446, 0x522a, 0x0000, 0x5b2b, 0x5346, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3245, + 0x0000, 0x0000, 0x130b, 0x0000, 0x0000, 0x0000, 0x0000, 0x7207, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0668, 0x2807, + 0x0000, 0x37a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x268b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x304b, 0x0000, 0x0000, 0x1de5, + 0x0000, 0x0000, 0x1048, 0x0a67, 0x0000, 0x11e4, 0x0000, 0x2b87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x77c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a44, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00ea, 0x1aa5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6427, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7506, 0x0000, 0x0d85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6ea4, 0x496b, 0x1b65, 0x31ca, 0x2d87, 0x0000, 0x91a7, + 0x0000, 0x0000, 0x2ac9, 0x1e26, 0x25e9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1fc9, 0x4644, 0x0000, 0x6244, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3da8, 0x1b06, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b6b, 0x2aa7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x104b, 0xd8c7, 0x134c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x57a8, 0x4b85, + 0x0000, 0x0000, 0x6de8, 0x0000, 0x1869, 0x5345, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd0a6, 0x0000, 0x0000, 0x0000, 0xdfe6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x9987, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4de4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0a8a, 0x0f47, 0x0000, 0x0000, + 0x0000, 0x68a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7ea8, 0x0000, 0x0000, 0x4826, 0x0000, 0x0000, 0x0000, 0x3986, + 0x748a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x03e8, 0x1065, 0x0000, 0x0000, + 0x0000, 0x4ba6, 0x0000, 0x0000, 0x0000, 0x9bc6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0889, 0x22c5, 0x14a8, 0x2665, 0x61a8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0426, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8b26, 0x0000, 0x0000, 0x5a08, 0xf427, 0x196a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3529, 0x28c6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1e2b, 0xa487, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3405, 0x0000, 0x0000, 0x0000, 0xa286, 0x0000, 0x69e7, + 0x0000, 0x0000, 0x52ca, 0x2cc5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x68e8, 0xe3e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x51cc, 0xbe46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x146b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274d, 0x7a44, + 0x0000, 0x0000, 0x0000, 0x4b24, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7645, 0x3648, 0x0000, 0x0000, 0x0000, 0x324c, 0x3367, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x01ac, 0xb767, 0x334e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3c66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x54a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08c9, 0x0000, + 0x0000, 0x0000, 0x0000, 0xafa7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d65, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x088e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3f24, 0x0000, 0x28c5, 0x0000, 0x0000, + 0x148f, 0x4e86, 0x51ca, 0x0000, 0x0000, 0x0000, 0x04a8, 0x0406, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5389, 0x1306, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x48a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x058e, 0x0fc6, + 0x0b2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xbf66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x196c, 0x91e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4269, 0x9a07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x75e6, 0x0000, 0x53c5, 0x1ceb, 0x6e04, + 0x0000, 0xca26, 0x0000, 0x0000, 0x0000, 0xf4a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1e47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x34a5, 0x0000, 0x0000, 0x01c8, 0x6845, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3a2a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6849, 0x5606, 0x33a9, 0x6ae4, 0x0000, 0x0000, + 0x0000, 0x49c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05a8, 0x1525, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x18c4, 0x0000, 0x0000, 0x46ab, 0x4925, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5666, 0x0000, 0x0000, + 0x0000, 0x4a25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7227, 0x0e8c, 0x0000, 0x0000, 0x0000, + 0x0000, 0xaa06, 0x0000, 0x0000, 0x0000, 0x6444, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5429, 0x2686, 0x0000, 0x58a4, + 0x7dc9, 0xece6, 0x0000, 0x1c84, 0x0000, 0x0000, 0x0000, 0xe607, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4c04, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc4a6, 0x0000, 0xfee7, + 0x1108, 0x4386, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7024, 0x0000, 0x0000, 0x7549, 0xeac6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb7a6, + 0x0000, 0x7ce5, 0x0000, 0x2564, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4845, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3905, 0x0000, 0x0000, 0x0000, 0xd1e7, 0x146c, 0x56a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0612, 0x5e64, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2a4b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8866, 0x0000, 0x0000, 0x0000, 0x0000, 0x56ec, 0x0000, + 0x0000, 0xb707, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79e7, + 0x0000, 0x0000, 0x29ed, 0x0000, 0x0000, 0xf766, 0x0000, 0x0000, + 0x0000, 0x0000, 0x21a8, 0xc3c7, 0x4ec9, 0x3186, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe2e7, 0x4f4a, 0x0005, 0x0000, 0x0000, 0x78c8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0128, 0x3386, + 0x0000, 0x77c7, 0x0000, 0x0000, 0x4868, 0x2fc4, 0x0000, 0x1a84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x78aa, 0x5524, 0x0000, 0x0000, + 0x020e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51e5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0871, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5de6, 0x0000, 0x0000, 0x0000, 0x0000, 0x34e8, 0x1ce6, + 0x0000, 0x0000, 0x7f0a, 0x2585, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0c88, 0x1da6, 0x0000, 0x0000, 0x0000, 0xab46, 0x0000, 0x0000, + 0x0000, 0x9707, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9866, + 0x102e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e5, + 0x0000, 0x0000, 0x356c, 0x0000, 0x0000, 0x0000, 0x0000, 0x76a6, + 0x5328, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5907, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9446, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x24ec, 0x2706, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12e9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4984, 0x0098, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x33cc, 0x0d06, 0x0000, 0x0000, 0x5eaa, 0x20e6, + 0x0000, 0x4625, 0x0000, 0x0000, 0x0000, 0x2804, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1c24, 0x0000, 0x0000, 0x0000, 0x0000, 0x04b1, 0x6627, + 0x0000, 0x79c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfd46, + 0x106b, 0x1d65, 0x0209, 0x0000, 0x49c8, 0x90a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1baa, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x118a, 0x30c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8f07, 0x0000, 0x0000, 0x0000, 0x3a06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x198b, 0x32e5, 0x25e8, 0x9847, + 0x0000, 0x0000, 0x0000, 0x0000, 0x00a8, 0x28a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x018a, 0x6407, 0x0000, 0xdee7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3f0d, 0x4da6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7306, 0x0000, 0x2f04, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1b46, 0x488c, 0x0000, 0x6008, 0x38c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0010, 0x0000, 0x548a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1486, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0656, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0f0d, 0x23a6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1c49, 0x2ae6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x03b6, 0x0000, 0x0000, 0xe286, + 0x0000, 0x0000, 0x0115, 0x0000, 0x0000, 0x0000, 0x02b6, 0x8ca7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa5e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x47e9, 0xc7c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6fe6, 0x0000, 0x0000, + 0x0000, 0x77e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdbe7, + 0x15a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x2146, 0x20ae, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb266, 0x0000, 0x0000, 0x2588, 0x8126, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0688, 0x5bc5, + 0x0000, 0x0000, 0x1b2b, 0x1de7, 0x0000, 0x8d26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b88, 0x0287, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3446, 0x0000, 0x0000, 0x0000, 0x4ca5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4f04, 0x0000, 0x0000, 0x0aa8, 0x7b07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x71a8, 0x56c5, 0x00eb, 0x8aa7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2308, 0x07c5, 0x0000, 0x0000, 0x042a, 0x0000, + 0x0000, 0x2ce4, 0x174d, 0x7a87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4927, + 0x0000, 0x0000, 0x0000, 0x1a65, 0x0000, 0x0000, 0x2a0d, 0x1226, + 0x0000, 0x8d46, 0x0000, 0x6d27, 0x0000, 0x0000, 0x6908, 0x20e4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7284, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x136f, 0x0000, 0x0000, 0x0000, + 0x39aa, 0x0c27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa987, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a24, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0fd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x9366, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1444, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5fa6, 0x0000, 0x1765, 0x0000, 0xa0c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4f66, 0x0000, 0x0000, 0x02eb, 0x1ae4, 0x0000, 0x0000, + 0x0000, 0xa346, 0x0000, 0x0000, 0x0c2d, 0x5987, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2566, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x10ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x524c, 0x8746, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfa47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x682b, 0x1f07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xcec6, 0x0000, 0x0000, 0x426a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6aa5, + 0x47ab, 0x1f26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x41ea, 0x0000, 0x0000, 0x0000, 0x0000, 0xb166, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0288, 0x0627, + 0x0000, 0x0000, 0x0000, 0x7c05, 0x0000, 0x0000, 0x0000, 0x5b05, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3e28, 0xc567, 0x0000, 0x0000, + 0x0000, 0x0000, 0x07c9, 0x2186, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9626, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3dea, 0x1827, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d4a, 0x0000, + 0x0000, 0x6b66, 0x0000, 0x0000, 0x02ed, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x65a9, 0x73a6, 0x0000, 0x0000, + 0x1be8, 0x4ca6, 0x7728, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5344, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53c4, 0x0000, 0x0000, + 0x0509, 0x1b07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x206b, 0x0000, 0x0000, 0x0000, 0x370a, 0x8b47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0949, 0x3b66, + 0x0000, 0x0000, 0x178c, 0x1164, 0x0000, 0x63a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc486, 0x0000, 0x0000, + 0x0000, 0x0000, 0x04f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc746, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2446, + 0x0000, 0x1d05, 0x0000, 0x0000, 0x6ee9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4128, 0x01c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca6, + 0x0000, 0x0000, 0x0000, 0x7c06, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0df0, 0x0000, 0x0000, 0x3524, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62a7, 0x0000, 0x0000, + 0x0000, 0xc726, 0x0000, 0xdd06, 0x0000, 0x0000, 0x1d2b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x75e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7764, 0x1c28, 0x1ea5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1e2e, 0x0000, 0x0000, 0x0000, + 0x0000, 0xf2e6, 0x0000, 0x0000, 0x0000, 0xa086, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4548, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc386, 0x0000, 0x0000, + 0x0000, 0x3764, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x230e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5b24, 0x0000, 0x0000, 0x0000, 0x2b84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ec6, 0x6a09, 0x2544, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67a9, 0xb1c6, + 0x17ae, 0x0f27, 0x0000, 0x0000, 0x4f09, 0x6587, 0x0000, 0x0000, + 0x458b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x368a, 0x1584, + 0x424b, 0x6985, 0x1d0d, 0x7b06, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x126a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4325, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b64, 0x0000, 0x0000, + 0x6949, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa167, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb946, + 0x4c8c, 0x3105, 0x0000, 0x0000, 0x0000, 0x20c6, 0x03ee, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5e24, 0x44a9, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5705, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6844, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6064, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7325, 0x0000, 0x0000, + 0x0000, 0x5445, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2688, 0x3786, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x64ab, 0x1686, 0x0000, 0x0000, + 0x22cd, 0x21e7, 0x0000, 0x0000, 0x1acd, 0x3f26, 0x0000, 0x97e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3068, 0x21e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcda6, 0x054a, 0x0b86, + 0x0000, 0x3964, 0x0000, 0x0000, 0x294c, 0xc2a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e2a, 0x0246, + 0x0000, 0x0000, 0x0000, 0xd9c6, 0x0000, 0x0000, 0x0000, 0x78a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16c6, 0x0000, 0x0000, + 0x082a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2907, 0x0000, 0x0000, 0x4989, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xdf46, 0x0000, 0x0000, 0x7848, 0xf826, 0x0000, 0x0000, + 0x0000, 0x2687, 0x3f8b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4988, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4cc5, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x244c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6388, 0x59e7, 0x0000, 0x0000, 0x28c8, 0x1a45, 0x0000, 0x0000, + 0x0000, 0x57a4, 0x5ec9, 0x3b05, 0x0000, 0x0000, 0x0000, 0xf367, + 0x22ca, 0x86e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3e29, 0x0527, 0x0000, 0x0000, 0x4f48, 0x05c5, 0x7828, 0x0000, + 0x6548, 0x4184, 0x0000, 0x0000, 0x042d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4285, 0x0000, 0x7ca5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa2a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa246, 0x0000, 0x53e6, 0x0000, 0x0000, + 0x0000, 0x2644, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x56ab, 0xe3e7, 0x0000, 0x0000, + 0x0000, 0x5ee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf187, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b11, 0x16c5, + 0x0000, 0x0000, 0x0000, 0xf587, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4124, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3509, 0x6b27, + 0x0000, 0x0000, 0x0000, 0x0000, 0x53e8, 0x2905, 0x0000, 0x4224, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5986, 0x0000, 0xbca6, + 0x0a0e, 0x0866, 0x0000, 0x0000, 0x0000, 0x0000, 0x0769, 0x11a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbb46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2aee, 0x35c7, 0x6469, 0x93e7, + 0x54a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa9a6, 0x06b0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x49c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2927, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3aa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x398e, 0x0000, 0x0000, 0xd9e6, + 0x0000, 0x0000, 0x7868, 0x2a86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc866, 0x0000, 0x0000, 0x1f4c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x50c8, 0x1b45, 0x0000, 0xe047, 0x000b, 0x0000, + 0x0000, 0x4765, 0x0000, 0x38e4, 0x0000, 0x0000, 0x0000, 0x7e86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4aa9, 0x1426, 0x0000, 0x2ba4, + 0x0000, 0x4186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x284b, 0x3606, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28aa, 0x1be5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x46c4, 0x0000, 0x0000, + 0x0000, 0xae47, 0x3c2b, 0x3686, 0x0000, 0x0604, 0x3928, 0x4c45, + 0x5e89, 0x4d45, 0x0000, 0x0000, 0x0000, 0x5e65, 0x0000, 0x9827, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4408, 0x3d85, 0x0d6e, 0x33c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7de4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00b0, 0x0000, 0x0000, 0xc586, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5424, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe666, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x14a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6529, 0x6ea6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3e49, 0x0000, 0x0000, 0x0000, + 0x264c, 0x0125, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x36a4, 0x5a2a, 0x1245, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1626, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xac26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1905, 0x0000, 0x77e4, + 0x0000, 0x0000, 0x0000, 0xf106, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb366, 0x0000, 0x3c26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x11ca, 0x0a84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7ee5, 0x0000, 0x0000, 0x0000, 0x2764, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ee9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5906, + 0x0000, 0x0000, 0x0000, 0xd746, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1bc8, 0x0000, 0x7b2a, 0xb0c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9f27, + 0x434a, 0x5847, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e6f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdea7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x35e7, 0x0c2a, 0x5327, 0x0549, 0x1da7, + 0x0000, 0x0000, 0x0000, 0x2107, 0x0000, 0x0000, 0x1aa8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38e9, 0x0000, + 0x0000, 0x0000, 0x7148, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4e0b, 0x0000, 0x47c8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2c44, 0x0000, 0x0000, 0x0000, 0xc2c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x088f, 0x1d67, 0x5a6c, 0xe2a6, + 0x0000, 0x0000, 0x0000, 0x77a7, 0x0000, 0x67c5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x02f2, 0x0000, 0x0000, 0x3e05, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4466, 0x1de9, 0x0b05, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa3c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a09, 0x8687, 0x0000, 0x0000, 0x0ece, 0x0000, + 0x0000, 0x0000, 0x3beb, 0x2247, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e24, + 0x0000, 0x0000, 0x53ab, 0x20a7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62e6, + 0x1f48, 0x5047, 0x0000, 0x0000, 0x0000, 0xb2a7, 0x756a, 0x76a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6644, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7ac8, 0x2947, 0x0000, 0x0000, 0x0000, 0x0000, + 0x442a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7666, + 0x0000, 0x9486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7104, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xab86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x56a4, 0x2f2b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x56e7, 0x0000, 0x0000, 0x592a, 0x3047, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1009, 0xc4e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x350d, 0x6fa7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4509, 0x2846, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0389, 0xe206, 0x062c, 0x0000, 0x0000, 0x0000, 0x0000, 0xe506, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x34a7, 0x0000, 0x0000, 0x3749, 0x33e6, 0x0000, 0x0000, + 0x242b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19ce, 0x0dc4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0277, 0xc067, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa786, 0x0000, 0x9547, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x44ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x27e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0e14, 0x9387, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x78e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf287, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5be8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x702b, 0x1085, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x04ca, 0x68c4, 0x0000, 0x0000, 0x0000, 0x2f65, 0x1b48, 0x0105, + 0x528a, 0x7f24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0ded, 0x3066, 0x50e9, 0x6da7, 0x0000, 0x0000, 0x06aa, 0x62c7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x394e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7746, + 0x0000, 0x0000, 0x0000, 0x3147, 0x0000, 0xaae6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e44, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb027, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04c8, 0x0f87, + 0x2aca, 0x18e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5a8c, 0x4e84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6488, 0x2147, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1a07, 0x0000, 0x09e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc6, + 0x0000, 0xbac6, 0x66a9, 0xc226, 0x0000, 0x0000, 0x10ec, 0x32a5, + 0x0000, 0x0000, 0x1648, 0x0c86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3c24, 0x0000, 0x0000, 0x0000, 0xac46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x62e5, 0x0428, 0x9967, 0x6b29, 0x0000, + 0x3a68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x37e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0acb, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4968, 0x0000, 0x0000, 0x0000, 0x568a, 0x7f47, 0x0000, 0x1864, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc146, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5586, 0x0000, 0x0000, 0x2b28, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2da5, 0x0000, 0xd266, + 0x0000, 0x0000, 0x3b0a, 0x0000, 0x362e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0397, 0x0000, 0x0000, 0x0000, + 0x7cac, 0x0000, 0x582a, 0x0065, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ca5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0cc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c46, + 0x7fc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x06f6, 0x0000, 0x0e68, 0x0000, 0x0000, 0x0000, + 0x0000, 0x74a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x57c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd806, 0x0352, 0x3c84, 0x0000, 0x0000, 0x0000, 0x1727, + 0x4d4a, 0x3426, 0x0000, 0x6466, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9dc6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f24, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3be7, 0x20ca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x67c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x034b, 0x08c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1b2f, 0x0000, 0x5008, 0x0666, 0x0000, 0x0000, + 0x2d0d, 0xc647, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5187, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fc7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2548, 0x5c27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51e9, 0x1bc5, + 0x7149, 0x0000, 0x0000, 0x7ea6, 0x7be8, 0xfb26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3eea, 0x0000, 0x0000, 0x0000, 0x1b12, 0x1345, + 0x0000, 0x0000, 0x0000, 0x5985, 0x0000, 0x6987, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4da8, 0x1f86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0cee, 0x0000, 0x0057, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4807, 0x0000, 0x0000, + 0x0000, 0x5106, 0x0000, 0x0000, 0x0000, 0x2965, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4f0c, 0x0000, 0x0000, 0x0000, 0x40c8, 0x0d65, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f04, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00f4, 0x6e65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7345, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0b69, 0x7c25, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1908, 0x1064, 0x0158, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2da9, 0xb327, 0x0000, 0x0000, + 0x0000, 0x0000, 0x038a, 0x0ce5, 0x0000, 0x0000, 0x63c8, 0x7ea5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x04ec, 0xf0a7, 0x0000, 0x6aa6, 0x0000, 0x0000, 0x21ea, 0x40e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2a4e, 0x0000, 0x0000, 0x2584, + 0x3ac9, 0x3465, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6889, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf226, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3124, 0x0000, 0x0000, + 0x2ca8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x57eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3065, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0968, 0x5885, 0x38ab, 0xa8e7, + 0x0000, 0x25e4, 0x0000, 0x0000, 0x608a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5da4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8526, 0x0000, 0x0000, 0x59ab, 0x1c46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f45, 0x35ee, 0x4e46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x584a, 0x0000, 0x0000, 0x0000, + 0x066d, 0x5744, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6786, 0x0000, 0x0000, + 0x022a, 0x0000, 0x0000, 0x0000, 0x0000, 0xf127, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0373, 0x6ce7, + 0x3e4c, 0x0000, 0x0caa, 0xe026, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x366a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x78ca, 0x0000, 0x1029, 0xcd87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7ca7, 0x3ec8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66e4, + 0x0000, 0xf0e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c49, 0xdb87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0118, 0x0000, 0x140b, 0x82c7, + 0x0000, 0x3d87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1028, 0x05a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2c28, 0x45c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6225, + 0x0000, 0x0000, 0x0000, 0x8f26, 0x17a9, 0x0000, 0x0000, 0x0000, + 0x0357, 0x2c25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfd06, + 0x0000, 0x0000, 0x0000, 0x4bc5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0410, 0x6ae7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xfb66, 0x0000, 0x0000, 0x00b2, 0x0084, + 0x0000, 0x0000, 0x39ab, 0x5f87, 0x0000, 0x0000, 0x0000, 0xb526, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb4a6, + 0x0000, 0x0000, 0x0000, 0x9206, 0x0000, 0x0000, 0x0000, 0x1d26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1fe6, 0x0000, 0x0000, 0x1b09, 0x0000, 0x0000, 0x0000, + 0x23cb, 0x0000, 0x0000, 0x0000, 0x0077, 0x0000, 0x0000, 0x0000, + 0x5a6a, 0x4304, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23a7, + 0x0000, 0x0000, 0x0000, 0x4607, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5644, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9bc7, + 0x0000, 0x0000, 0x07f3, 0x0000, 0x042b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x410c, 0xe8c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4ecb, 0x0000, 0x0000, 0x0000, 0x0000, 0x4545, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7d25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x37c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa426, 0x0000, 0x0000, 0x68a9, 0x4f86, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22cb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7e4a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x99e7, 0x0000, 0x2604, 0x0000, 0x3f47, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0356, 0x0000, + 0x0ba8, 0xb007, 0x634a, 0x6964, 0x580b, 0x0000, 0x23ad, 0x0e45, + 0x3ca8, 0x7047, 0x1229, 0x0000, 0x0268, 0xfe67, 0x0000, 0x0000, + 0x0000, 0xf1a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd807, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5d48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7c68, 0xf586, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc1c6, + 0x0000, 0x6d46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f44, + 0x0000, 0x0000, 0x0000, 0x65c4, 0x0fcb, 0x0000, 0x0000, 0x9e06, + 0x0000, 0x0000, 0x65c8, 0x7765, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7aa6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7268, 0x0705, 0x0000, 0x0000, + 0x0c94, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4fcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c45, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5ec5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8b07, 0x0000, 0x0000, 0x1ace, 0x0000, + 0x0000, 0x0000, 0x10a9, 0x0000, 0x188d, 0x1507, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9006, 0x0000, 0x9ba7, 0x0000, 0x0000, + 0x4348, 0x1526, 0x6cea, 0xe306, 0x0000, 0x0000, 0x33a8, 0x10a6, + 0x0000, 0x0000, 0x0000, 0x7a46, 0x0000, 0x0000, 0x056c, 0x0ba6, + 0x2e69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41c5, + 0x0329, 0x0000, 0x5e4c, 0x29e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x16cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x04e8, 0x4b25, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16a4, 0x2e48, 0x0000, + 0x0000, 0xce86, 0x2cc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x160d, 0x23c6, 0x0000, 0x6287, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x98e6, 0x6188, 0x1fc7, + 0x7d68, 0x7006, 0x0000, 0x0000, 0x0000, 0xb4e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5d0c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fd2, 0x0000, + 0x052b, 0x6284, 0x0000, 0x0000, 0x0000, 0x4ea5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x24a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3484, 0x04ae, 0xed86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x43cc, 0xc447, 0x77a8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ea8, 0x03e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0faa, 0x28a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x286a, 0x0000, 0x0000, 0xc166, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9807, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x18cf, 0xee26, 0x4ea9, 0x01e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x028f, 0x0966, + 0x43eb, 0xa927, 0x0000, 0x0000, 0x0000, 0x42a7, 0x0000, 0x0000, + 0x00d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4345, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2a44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0171, 0x0006, 0x0000, 0x0000, 0x238a, 0x5265, 0x0000, 0x7ba5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6a07, 0x0000, 0x0000, 0x3f6a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1784, 0x7beb, 0x6e85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0790, 0x77e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xcea6, 0x0000, 0x0000, 0x7348, 0x2a27, + 0x0000, 0x4fc4, 0x0000, 0x0000, 0x3e8a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x14cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3447, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5f08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9fa6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6048, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1e6a, 0x0b24, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae86, 0x0000, 0x4605, + 0x0000, 0x0000, 0x0069, 0xcf46, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x494a, 0x0000, 0x0000, 0x9ee7, + 0x0000, 0x0000, 0x0000, 0x3f25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4fa6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf366, 0x052a, 0x37a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0728, 0x17a4, 0x0000, 0x0000, 0x2e6a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4504, 0x0000, 0x6e66, 0x0000, 0x7366, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6d67, 0x0000, 0x0000, 0x0000, 0xdf87, 0x0631, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x52aa, 0x0000, 0x0000, 0xf327, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6346, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8de6, 0x0000, 0x0000, 0x0000, 0x5d25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a85, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3345, + 0x0000, 0x7a04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x57e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x176a, 0x2845, + 0x0000, 0x0000, 0x0000, 0x1c65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4609, 0x0000, 0x03f3, 0xae67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3a47, 0x0000, 0x0000, 0x0000, 0x0000, 0x506a, 0x14e6, + 0x0000, 0x0000, 0x0000, 0xb286, 0x0000, 0x3385, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8bc6, + 0x4648, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x200b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdd66, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x94c7, 0x1089, 0x0000, 0x084f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x27a4, 0x0000, 0x0000, 0x0000, 0x07e5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb866, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2404, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4c09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9926, 0x0000, 0x94a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb786, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5626, 0x0f0a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0037, 0x0000, 0x292e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c47, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe7e7, 0x0000, 0x0000, 0x39a9, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa847, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aa6, + 0x0000, 0x0000, 0x256e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9266, 0x0000, 0x0000, + 0x0000, 0x7a84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4fa9, 0x22e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x24a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x4209, 0x0225, + 0x0000, 0x0000, 0x0000, 0x0000, 0x00b6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0616, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b2a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6165, 0x0000, 0x1884, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa546, 0x5c2b, 0x5e04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3387, + 0x180e, 0x0a07, 0x0000, 0x0000, 0x010c, 0xb7c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d24, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6866, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2008, 0x04c6, 0x7b4a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b6a, 0x2027, + 0x22c8, 0x71e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5da8, 0x12e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7baa, 0x0000, 0x0000, 0x7bc5, 0x0000, 0x0000, 0x0b49, 0x1845, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3525, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x60c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50cc, 0x6764, + 0x5e0b, 0x0000, 0x0000, 0x0000, 0x52c9, 0x0000, 0x02cb, 0x02a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bea, 0x1de6, + 0x0000, 0x0000, 0x0000, 0x35e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x000f, 0x6d45, 0x0000, 0x0000, 0x212b, 0x0826, 0x0000, 0x0000, + 0x0000, 0xa8c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xebe7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6524, 0x0000, 0x5704, + 0x0000, 0x8646, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ec5, 0x0000, 0x0000, + 0x6448, 0x0000, 0x0000, 0x0000, 0x0713, 0x6107, 0x0000, 0x7944, + 0x0000, 0x0000, 0x63a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x320a, 0x0000, 0x0000, 0xf3e6, 0x0000, 0x0000, 0x052d, 0x0000, + 0x016c, 0x0ec6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1f6a, 0x4ce7, 0x0000, 0x0000, 0x0000, 0x8287, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e44, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0d0d, 0x0607, 0x1a2a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7446, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa0c6, 0x0000, 0x5ee6, + 0x0000, 0x0f04, 0x3029, 0x0000, 0x0000, 0x0000, 0x35aa, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6685, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18ea, 0x0000, + 0x0157, 0x12e6, 0x0000, 0x0000, 0x0000, 0x5f26, 0x2da8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x05d1, 0x87c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x016b, 0xcb06, + 0x0756, 0x2b05, 0x0000, 0x0000, 0x7e09, 0xe986, 0x0000, 0x0000, + 0x0000, 0x6f05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x58e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7249, 0xef26, 0x0000, 0x77c5, 0x0000, 0x6ea7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x69e4, 0x228b, 0x0000, 0x25c9, 0x0824, + 0x0000, 0x0000, 0x0000, 0x3fc7, 0x0000, 0xbd47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x130c, 0x2464, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x234b, 0x49a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1044, 0x0000, 0x0000, 0x39eb, 0x0545, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2e85, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5505, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a28, 0xf9a6, + 0x0000, 0x0000, 0x0000, 0x6544, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xadc7, 0x0000, 0x0000, + 0x0000, 0x5084, 0x0000, 0x0000, 0x6c6a, 0x7ac4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4387, 0x0000, 0x0f67, + 0x0000, 0x0000, 0x0000, 0xf746, 0x0000, 0x0000, 0x0000, 0x0000, + 0x62a8, 0x4de6, 0x0000, 0xd766, 0x0000, 0x9886, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6f06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2568, 0xf967, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x628a, 0x1666, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35e9, 0x1385, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xaba6, 0x04f6, 0x0a06, 0x188c, 0x0000, + 0x0000, 0x3f66, 0x0000, 0x0000, 0x0000, 0x50c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x97c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x73cb, 0x0000, 0x0000, 0x0000, 0x0029, 0x0e47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x37c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d46, + 0x0000, 0x0000, 0x0000, 0x3d66, 0x0000, 0xc606, 0x0000, 0x0000, + 0x3f68, 0x1f47, 0x0000, 0x0000, 0x0000, 0x13c4, 0x0149, 0x2d47, + 0x0033, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3309, 0x1c86, 0x6b8a, 0x3c06, 0x0000, 0x6166, + 0x0000, 0x0000, 0x0000, 0x45a4, 0x0000, 0x0000, 0x11c8, 0x18a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xba46, 0x0170, 0x2f47, 0x278a, 0x8426, + 0x0000, 0x0000, 0x0257, 0x4866, 0x256b, 0xc147, 0x0000, 0x1624, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3365, 0x0000, 0x0000, 0x0000, 0x0000, 0x5aea, 0x36e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbf07, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x074f, 0x0000, 0x3c4a, 0x0000, + 0x0000, 0x0000, 0x3f2e, 0xf406, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e45, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7725, + 0x0000, 0x0000, 0x0000, 0x0000, 0x644b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2445, + 0x0000, 0x0000, 0x62eb, 0x0685, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e04, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8086, 0x0000, 0x0000, + 0x114a, 0x0000, 0x0000, 0x0000, 0x0000, 0xe267, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x74ca, 0xe3a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2e68, 0x04c4, 0x0000, 0x0000, 0x0000, 0xa207, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a65, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa646, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ce7, 0x250c, 0x0da5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5286, 0x0000, 0x0000, + 0x0000, 0x0000, 0x21c9, 0x49e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8846, 0x0a29, 0x0000, 0x0000, 0x0000, + 0x0000, 0x30e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f28, 0x2847, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb086, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x41ca, 0x4f05, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1d68, 0x1206, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7586, 0x0000, 0x0000, 0x0000, 0x0687, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x26a8, 0x1885, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xef07, 0x0000, 0xa147, 0x0000, 0x55c4, + 0x0000, 0x0000, 0x4e2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x338b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0565, 0x0000, 0x0000, 0x0000, 0x0000, + 0x016d, 0x78e7, 0x5ecc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1b84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6d28, 0x0167, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6f47, 0x0000, 0x0000, 0x004d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xddc7, + 0x312a, 0x20e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6649, 0x3907, 0x0000, 0x0000, 0x1f68, 0x1646, 0x3129, 0x0c25, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5446, 0x150c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13f2, 0xcce6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0773, 0x74c7, 0x0000, 0x17e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2b49, 0x14a5, 0x0000, 0x6da5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa227, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x148e, 0x0000, 0x0000, 0x0000, 0x01f7, 0x1087, 0x1e28, 0x8627, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1c88, 0x2886, 0x06b6, 0x0000, 0x0000, 0x71c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc9, 0x5827, + 0x1b28, 0x0924, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4f88, 0x30a5, 0x0000, 0xb026, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6fa6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a2c, 0x0000, + 0x0000, 0x0000, 0x77e8, 0x0000, 0x0000, 0x0000, 0x0000, 0xb326, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x15cc, 0x17a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x02c8, 0x0046, 0x0000, 0x0000, 0x65eb, 0x2c47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x352c, 0x0000, 0x3368, 0x0786, 0x01b3, 0xc967, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb8c6, 0x4a8b, 0x0000, + 0x0000, 0x31c6, 0x0000, 0x0647, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x180b, 0x90e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a04, 0x1bea, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ea8, 0x0807, + 0x0000, 0x0000, 0x0000, 0x0000, 0x22ce, 0x0000, 0x4b88, 0x0000, + 0x0000, 0xbbc6, 0x212a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x26cc, 0xdc67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1025, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3f2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7d0b, 0x0000, 0x0000, 0x78c6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x68e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4fa5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x49c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x2305, 0x0000, 0x0000, + 0x0000, 0xad46, 0x0000, 0x0000, 0x0000, 0x2325, 0x0000, 0x8507, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72a6, 0x0000, 0x0000, + 0x01f5, 0x4567, 0x0000, 0x0000, 0x7ec9, 0xeb66, 0x0000, 0x0000, + 0x0000, 0x78a6, 0x0000, 0x0000, 0x0ead, 0x0427, 0x0000, 0x0000, + 0x0000, 0x6425, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6da4, + 0x0000, 0x6706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2da4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x60cb, 0x00e5, 0x0000, 0x35c6, + 0x0000, 0x0000, 0x1cea, 0x2d05, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x66c9, 0x5c86, 0x0000, 0x0000, + 0x7428, 0xb9a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0229, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7d26, 0x0000, 0x0000, 0x0000, 0x0000, 0x046f, 0x67e4, + 0x0000, 0x0000, 0x300c, 0x3927, 0x0000, 0x0000, 0x0000, 0xa8e6, + 0x0000, 0x0367, 0x0000, 0x0000, 0x7b08, 0x0000, 0x2109, 0x4505, + 0x0000, 0x3224, 0x0000, 0x0000, 0x0000, 0x58c6, 0x0000, 0x9766, + 0x0000, 0x0000, 0x0177, 0x19a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00aa, 0x4867, 0x0000, 0x59a4, 0x0000, 0x0000, 0x7e68, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3d24, 0x0000, 0x0000, 0x0000, 0x8006, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f87, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3b29, 0x0000, 0x0000, 0x0000, + 0x526c, 0x6c06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x130a, 0x6667, 0x0000, 0x0667, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1049, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1ca8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5444, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6044, 0x068b, 0x09e5, 0x0000, 0x0000, + 0x0000, 0xd046, 0x0000, 0x3326, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1866, 0x0000, 0x5604, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6f25, 0x15c8, 0x1404, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6d06, 0x0000, 0x72c6, 0x4728, 0x2187, 0x0000, 0x0000, + 0x0000, 0x9906, 0x0000, 0xaa26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ec5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5b65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x17cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x194a, 0x3f45, 0x3789, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6868, 0x0000, 0x0237, 0xbec7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3ba7, 0x0000, 0x0000, 0x7c4a, 0xabc6, 0x0992, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c68, 0x23e7, + 0x0000, 0xada6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x38e8, 0x3005, 0x0000, 0x0000, 0x0000, 0x2105, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7d28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0386, + 0x0000, 0x0000, 0x0000, 0x6a64, 0x15ec, 0x2ce7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23ea, 0x5c84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6b26, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6669, 0xaf46, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x15cd, 0x1c05, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xce27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51e8, 0x47a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x100b, 0x2be7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72c5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x55e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xbea6, 0x0000, 0x0000, 0x0000, 0x7e24, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6baa, 0x0000, 0x160b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c11, 0x7b25, + 0x0000, 0x4ce4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xefe7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8d66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ee4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0368, 0x02e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04cd, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7ee4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8806, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc626, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1c6a, 0x0000, 0x0000, 0x0000, + 0x3bc8, 0x2d06, 0x0000, 0x0000, 0x0000, 0x0be7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5768, 0x0000, 0x0000, 0x0000, + 0x034e, 0x0000, 0x0000, 0x0000, 0x0000, 0x8be7, 0x0000, 0x0000, + 0x0000, 0x5c64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5ca9, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3a08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x054e, 0x0000, 0x0c0a, 0x0000, 0x0000, 0x0000, 0x0350, 0x2ac5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1968, 0x0000, + 0x0000, 0x3824, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2009, 0x26e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5eca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6765, 0x0000, 0x0000, + 0x0000, 0x0000, 0x48ac, 0x0805, 0x0000, 0x82e7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2406, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xabe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa3a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f0c, 0x0186, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1347, 0x0000, 0xbe06, + 0x0000, 0xdb26, 0x0bec, 0x3ec6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x21a4, 0x2468, 0x95a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01f4, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7a6, 0x0000, 0x7f26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6b2a, 0xe246, 0x42a8, 0x0000, 0x0000, 0xb5a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6888, 0x1a64, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0270, 0x0000, 0x1388, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7e25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6686, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0017, 0x1c85, 0x0000, 0x0000, 0x0000, 0x8d67, + 0x0000, 0x9f86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a2a, 0xe006, + 0x0000, 0x0000, 0x30a9, 0x2465, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41aa, 0x0000, + 0x0000, 0x0000, 0x38ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x5347, + 0x0000, 0x0000, 0x0000, 0x34c4, 0x0011, 0x2c65, 0x0000, 0x0000, + 0x0000, 0x0000, 0x14ab, 0x0000, 0x2089, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c25, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcb26, 0x0000, 0x0000, + 0x0000, 0x1d45, 0x0000, 0xace7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2648, 0x0000, 0x0000, 0x0000, + 0x644c, 0xf026, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x168d, 0x0000, 0x0000, 0x0000, 0x0000, 0xa407, 0x65c9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5865, 0x0000, 0x0000, 0x0000, 0xbaa7, 0x016a, 0x07a7, + 0x5bac, 0x0000, 0x0000, 0x0000, 0x2aa9, 0x0000, 0x0000, 0x0000, + 0x0c4e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7ec8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x11cf, 0x0cc6, 0x0000, 0x0000, + 0x03d7, 0x0000, 0x0000, 0x66e7, 0x0000, 0x82a6, 0x0000, 0x0000, + 0x0000, 0xf147, 0x0000, 0xbd06, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0ae6, 0x0000, 0x9b66, 0x1ea9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0608, 0x0887, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0fc8, 0x09a7, 0x4e29, 0x7544, 0x0000, 0x0000, 0x2bea, 0x0000, + 0x0000, 0x0000, 0x15ca, 0xd086, 0x0000, 0x5867, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3265, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d7, 0x0000, + 0x0000, 0x2346, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0109, 0x0584, 0x0000, 0x0000, 0x2d6a, 0x0e67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4429, 0x5f27, 0x0000, 0x0000, 0x6869, 0x9cc6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7448, 0xf206, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51ac, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2b08, 0x0000, 0x0000, 0xb966, + 0x542b, 0x1726, 0x0000, 0x0000, 0x3988, 0x0ba7, 0x5e28, 0x3bc5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f85, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ce4, 0x0000, 0x0000, + 0x0000, 0x3e64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x19ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c04, + 0x0000, 0x7907, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x006a, 0x0000, 0x0000, 0x0000, 0x0000, 0x31e7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1c09, 0x4666, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5806, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc2e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6ba8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7646, 0x29ac, 0x5d45, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x71c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae26, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbd46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x192a, 0x0000, 0x3fca, 0x59a7, 0x0000, 0x0000, + 0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0284, 0x0000, 0x0000, + 0x0000, 0x9c66, 0x0000, 0x0000, 0x0000, 0x9166, 0x0000, 0x0000, + 0x0000, 0x2666, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8867, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x35a5, 0x0000, 0x0000, 0x0000, 0x6e24, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4da4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c06, 0x0000, 0x2b86, + 0x0000, 0x6c85, 0x0000, 0x0000, 0x0000, 0x0000, 0x3628, 0x0000, + 0x0000, 0x0000, 0x606a, 0xbae7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1aea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f8d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x06ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e13, 0x07c7, 0x0000, 0x6b04, 0x21cc, 0x0000, + 0x4788, 0x0000, 0x0000, 0x0000, 0x0000, 0x7566, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c06, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0152, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1b8a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3a0e, 0x0000, 0x0000, 0x0da4, 0x0000, 0x0000, + 0x0000, 0xda46, 0x0000, 0x0000, 0x0000, 0x4066, 0x0000, 0x0000, + 0x0000, 0x46c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x086a, 0x0504, 0x0000, 0x0000, 0x5a49, 0x7c07, 0x0000, 0x0000, + 0x736b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8f27, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4707, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1ee9, 0x0000, 0x0000, 0x0000, 0x0000, 0x50a4, + 0x0000, 0x0000, 0x290c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa006, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00f6, 0x0385, 0x2d09, 0x1447, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f86, + 0x0000, 0x0000, 0x6829, 0x6bc6, 0x0000, 0x6b05, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5c0a, 0x0b85, 0x0000, 0x0000, + 0x7688, 0xf306, 0x0000, 0xb8e6, 0x07ea, 0x49c5, 0x0000, 0x0000, + 0x0000, 0xbe26, 0x0000, 0x0000, 0x0000, 0x58a6, 0x0000, 0x0000, + 0x07b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3c69, 0x0000, 0x0000, 0x0000, 0x0000, 0x97a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x03b1, 0x7fc4, 0x0000, 0xd607, + 0x0000, 0x3a46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b64, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x156e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1e2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7888, 0xfaa6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8986, 0x0000, 0x0000, + 0x0000, 0x7747, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf4c7, 0x0000, 0x0000, 0x0448, 0x44a6, + 0x7c4c, 0x0000, 0x0000, 0x3827, 0x1132, 0x6a47, 0x0000, 0x0000, + 0x53c8, 0x1244, 0x0000, 0x0000, 0x0000, 0x0000, 0x40c9, 0x13e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x12ed, 0x0000, 0x0000, 0x8066, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7aea, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7c27, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x11aa, 0x3ea7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3885, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1d28, 0x12a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x48cc, 0x0000, 0x0000, 0x0000, 0x6428, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08c4, 0x0000, 0x0000, + 0x2e2a, 0x0000, 0x0490, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x198c, 0x5a27, 0x35ca, 0x1e27, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xe326, 0x0210, 0x86c6, 0x7faa, 0x0000, 0x0000, 0x32c5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xe4c7, 0x0000, 0x0000, 0x0000, 0x6707, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6745, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6609, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7d05, 0x59a8, 0xe6a7, + 0x0000, 0x34e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3fc8, 0x0000, 0x0000, 0x8306, 0x0000, 0x0000, + 0x0000, 0x4d46, 0x0000, 0x0000, 0x0000, 0x4104, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7bc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2824, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8de7, 0x0000, 0x0000, 0x7328, 0x0000, + 0x0000, 0x0000, 0x0309, 0x31a5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6b06, 0x0000, 0x0000, 0x0000, 0x1167, + 0x234d, 0x7aa5, 0x0000, 0x2405, 0x0000, 0x0000, 0x0000, 0xec47, + 0x5168, 0x0704, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x20ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d28, 0xaf66, + 0x0000, 0x96a6, 0x0000, 0x0000, 0x466b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2e24, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4dc6, 0x0000, 0x0000, + 0x0000, 0xafe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e0a, 0x1407, + 0x0000, 0x2d64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4d69, 0x0000, 0x15cb, 0x2486, + 0x0000, 0x0000, 0x520a, 0x4d06, 0x0000, 0x0000, 0x0000, 0x55a6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e7, 0x0000, 0x0000, + 0x0000, 0x4ee5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9e66, 0x0000, 0x0000, + 0x0000, 0xe0a6, 0x0000, 0x0000, 0x0000, 0xd287, 0x0000, 0x0000, + 0x3aa9, 0x0000, 0x4268, 0x99c7, 0x092b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x218c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0cc9, 0x45c6, 0x0daa, 0x0825, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a68, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2eca, 0xe507, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x020b, 0x0000, 0x32a9, 0x00c6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e25, + 0x0000, 0xbae6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x11c5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02af, 0x3a45, + 0x02ec, 0x2025, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x09ac, 0x3287, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6b88, 0xe706, 0x0000, 0x0000, 0x518c, 0x4ea6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x01b8, 0x2f24, 0x0000, 0xe647, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xbba6, 0x0000, 0x0000, 0x0000, 0xee47, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3d64, 0x1d4a, 0x1564, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4eea, 0x9447, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7469, 0x0000, 0x154b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc666, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3505, 0x0000, 0x0000, + 0x5948, 0x0000, 0x0000, 0x0000, 0x0000, 0x55a7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x23aa, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x35a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08ea, 0x0247, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e8e, 0x6787, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x242a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5464, 0x0000, 0x0000, 0x0000, 0xb206, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e6, 0x0000, 0x0000, + 0x0000, 0xa6c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x048b, 0x1a26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2ac4, 0x0000, 0x0000, 0x0000, 0x7404, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xe5c7, 0x0ed4, 0x6b07, 0x51cb, 0x27c4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x7267, + 0x6fe9, 0x38c6, 0x0000, 0x0000, 0x402c, 0xb227, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x62ea, 0x0000, 0x132c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6384, 0x71a9, 0x37a6, + 0x2b2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4846, 0x0000, 0x0000, 0x0000, 0xad66, 0x0000, 0x0000, + 0x0000, 0x4565, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5fc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x43a7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6e06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbc46, + 0x0000, 0x0000, 0x7aeb, 0x0000, 0x6009, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5c2c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c44, 0x03c8, 0x3545, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0eb3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x39c7, 0x0000, 0x0000, 0x0000, 0x3024, 0x0000, 0x31c5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2b64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fa9, 0x9d67, + 0x5088, 0x1105, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3aa7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaae7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x59e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb1e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5da6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4448, 0x50a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x22ac, 0x0000, 0x0000, 0x9f66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x38a6, 0x4308, 0x4564, 0x0000, 0x0000, + 0x7b6a, 0x8a67, 0x0000, 0x0000, 0x0b4a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2024, 0x0000, 0xdd07, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x85e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a66, + 0x0000, 0x6864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xfac6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0be9, 0xd6c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0345, 0x0000, 0x44c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x70a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x66c8, 0x0000, 0x0000, 0x0f46, 0x0000, 0x0000, 0x0000, 0x64e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20c7, 0x0000, 0x4d85, + 0x4b28, 0x0444, 0x0000, 0x0000, 0x1549, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4324, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2985, 0x0000, 0x0000, 0x1a0f, 0xeea6, + 0x16c8, 0x20a6, 0x0000, 0x0000, 0x0000, 0xd726, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x74a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc926, 0x0000, 0x6fe7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6585, + 0x0000, 0x0000, 0x75c9, 0xef86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6147, 0x0000, 0x0000, 0x0000, 0x1124, + 0x0000, 0xa446, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xcfa6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xc6e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x668b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1729, 0x0b25, + 0x0000, 0x9106, 0x1ccc, 0x00c5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x07eb, 0x03a6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xd986, 0x0000, 0x0000, 0x1628, 0x1547, + 0x0000, 0xf526, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b6b, 0x0000, + 0x022c, 0x0587, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x21c5, 0x0000, 0x2505, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbe66, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5eab, 0x00e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x424a, 0x4987, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6246, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4887, 0x4e68, 0x0b07, + 0x37e9, 0x0726, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x69a8, 0x5be6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x03e5, 0x01ec, 0x0000, 0x398a, 0x4125, 0x018c, 0x3506, + 0x0000, 0x0000, 0x0000, 0xa2c7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4a65, 0x0000, 0x0000, 0x0000, 0x01a5, + 0x4489, 0x0c26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb807, 0x388b, 0xdce7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e71, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc0e6, 0x0000, 0x8ae7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x0000, 0x2ce8, 0x3d05, + 0x0000, 0x2166, 0x0000, 0x0000, 0x0000, 0xf7e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9066, 0x0000, 0xc4e6, + 0x0000, 0xb3c6, 0x03e9, 0x0000, 0x0000, 0x2f25, 0x0cb1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3b89, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfce7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xe587, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0470, 0x6965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4544, 0x0000, 0x0000, 0x0000, 0x4305, 0x4e2b, 0x19e5, + 0x0000, 0xab67, 0x0000, 0x0000, 0x0000, 0x3504, 0x6228, 0x2a07, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7004, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x036b, 0x5dc7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1dcc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2fec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4b64, 0x5aaa, 0x0164, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc206, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5504, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x366b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2e7, 0x0000, 0x0000, + 0x01b4, 0x0e05, 0x0000, 0x0000, 0x2c8a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf566, + 0x0000, 0x0000, 0x0000, 0x9b86, 0x024c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6c66, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0649, 0x5884, 0x092a, 0x4a07, 0x0000, 0x3ec4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x142a, 0x2b66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3ac8, 0x0424, 0x0000, 0x1ec7, + 0x4768, 0x0146, 0x0000, 0x3a26, 0x4cc8, 0x0000, 0x1daa, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x030d, 0x0245, 0x0000, 0x3f46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0436, 0x26a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1189, 0x0000, 0x0000, 0x0000, 0x0000, 0x8406, + 0x0000, 0x0000, 0x0000, 0xd506, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8186, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa466, 0x360a, 0x0ac5, + 0x2108, 0x4185, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0d6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0f6a, 0x73e4, 0x0000, 0x0000, 0x77aa, 0x8fa7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6145, 0x0000, 0x3ec5, 0x1888, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa406, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6ae5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05aa, 0xaf07, + 0x0000, 0x0000, 0x0000, 0x7d64, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x8926, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4428, 0x4c87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x06cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x1587, 0x0000, 0x0000, + 0x0000, 0x80a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4704, 0x0000, 0x0000, 0x0000, 0x5b84, + 0x4d2a, 0x0000, 0x0000, 0x79c6, 0x0bcd, 0x7ba7, 0x5ba8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdfa7, 0x0000, 0x0000, + 0x532c, 0xfbe7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x64ca, 0x23e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc066, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x16cd, 0xc367, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c87, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xcae6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6dc8, 0xe526, 0x0000, 0xc426, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0bac, 0x0000, 0x5968, 0x7c44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x07e4, 0x0000, 0x49e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5da5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x446c, 0x2dc5, 0x0000, 0x0000, 0x0000, 0xda67, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b27, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb6e6, + 0x0000, 0x6086, 0x6faa, 0x0000, 0x0000, 0x0000, 0x0614, 0x0000, + 0x0000, 0x75a5, 0x0000, 0x0000, 0x564a, 0xdf27, 0x0d4b, 0x3707, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0411, 0x0000, 0x2989, 0x1b04, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a85, 0x0000, 0x0000, + 0x340a, 0x4687, 0x0000, 0x72c4, 0x0000, 0xdc86, 0x0000, 0x0000, + 0x0078, 0x0000, 0x0000, 0x2245, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3ea8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6a6a, 0x5ce5, 0x0000, 0x0624, 0x0000, 0x6de6, 0x0000, 0x0000, + 0x05e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c24, + 0x0000, 0x9646, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x05e9, 0x2205, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6f69, 0xeee7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f24, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32e4, + 0x0000, 0x16e7, 0x0000, 0x0000, 0x3d4d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x046b, 0x5b66, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6664, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x47e4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x05b1, 0x6647, 0x0000, 0x0000, 0x09ab, 0x1bc6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6a2c, 0xeb06, 0x0000, 0x0000, 0x0000, 0x4f26, + 0x0000, 0xa386, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0aca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6624, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e45, 0x0000, 0x0000, + 0x0000, 0x7246, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6c2a, 0x0000, 0x0000, 0x3544, + 0x31e8, 0x0746, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4349, 0x0cc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6d87, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1169, 0x46c5, 0x0000, 0x07e7, + 0x0192, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0068, 0x0e46, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4808, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x74a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5686, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5e0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2ee4, 0x0000, 0x7e66, 0x0000, 0x0000, + 0x0c09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x128d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a28, 0x0707, + 0x534a, 0x0000, 0x1ec8, 0x3145, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x36a9, 0x0000, 0x0000, 0x0000, + 0x3f4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x7d66, 0x0000, 0x9167, + 0x0000, 0x2904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7d08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5d08, 0x0ca4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ac5, + 0x0000, 0x0000, 0x160a, 0x0000, 0x124c, 0x0126, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x68e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1bec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1ed2, 0xf166, 0x03ab, 0x0000, 0x0000, 0xdd67, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69c6, 0x00ca, 0x13a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6d65, 0x0000, 0x0000, 0x3ba9, 0x60a5, 0x162c, 0x4fe4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x13cd, 0x6d26, 0x0000, 0x5264, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x30e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5388, 0x6e64, 0x0000, 0x09c6, 0x4e8c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb686, 0x0000, 0x7846, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3985, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x044b, 0x18e4, 0x0000, 0x0000, 0x0000, 0x3086, 0x3b4e, 0x0000, + 0x21eb, 0x0000, 0x29a9, 0x4c06, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0636, 0x0000, 0x7b8c, 0x0000, 0x5868, 0x4d26, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e86, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc5e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x23ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b07, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x406a, 0xd5a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3289, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e84, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0885, 0x1b0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3d08, 0x2c26, 0x0000, 0x0000, 0x1629, 0x1d87, + 0x0000, 0x0000, 0x394c, 0x3d44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5e8c, 0xbc06, 0x0000, 0x5ea6, 0x0000, 0xd8e7, + 0x0000, 0x0000, 0x0d88, 0x4ac5, 0x0000, 0x0000, 0x0000, 0x0000, +}; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_DICTIONARY_HASH_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/encode.c b/BaseTools/Source/C/BrotliCompress/enc/encode.c new file mode 100644 index 000000000000..ce18d8264805 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/encode.c @@ -0,0 +1,1562 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Implementation of Brotli compressor. */ + +#include "./encode.h" + +#include /* free, malloc */ +#include /* memcpy, memset */ + +#include "./backward_references.h" +#include "./bit_cost.h" +#include "./brotli_bit_stream.h" +#include "./compress_fragment.h" +#include "./compress_fragment_two_pass.h" +#include "./context.h" +#include "./entropy_encode.h" +#include "./fast_log.h" +#include "./hash.h" +#include "./histogram.h" +#include "./memory.h" +#include "./metablock.h" +#include "./port.h" +#include "./prefix.h" +#include "./quality.h" +#include "./ringbuffer.h" +#include "./utf8_util.h" +#include "./write_bits.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define COPY_ARRAY(dst, src) memcpy(dst, src, sizeof(src)); + +typedef enum BrotliEncoderStreamState { + /* Default state. */ + BROTLI_STREAM_PROCESSING = 0, + /* Intermediate state; after next block is emitted, byte-padding should be + performed before getting back to default state. */ + BROTLI_STREAM_FLUSH_REQUESTED = 1, + /* Last metablock was produced; no more input is acceptable. */ + BROTLI_STREAM_FINISHED = 2 +} BrotliEncoderStreamState; + +typedef struct BrotliEncoderStateStruct { + BrotliEncoderParams params; + + MemoryManager memory_manager_; + + Hashers hashers_; + uint64_t input_pos_; + RingBuffer ringbuffer_; + size_t cmd_alloc_size_; + Command* commands_; + size_t num_commands_; + size_t num_literals_; + size_t last_insert_len_; + uint64_t last_flush_pos_; + uint64_t last_processed_pos_; + int dist_cache_[4]; + int saved_dist_cache_[4]; + uint8_t last_byte_; + uint8_t last_byte_bits_; + uint8_t prev_byte_; + uint8_t prev_byte2_; + size_t storage_size_; + uint8_t* storage_; + /* Hash table for FAST_ONE_PASS_COMPRESSION_QUALITY mode. */ + int small_table_[1 << 10]; /* 4KiB */ + int* large_table_; /* Allocated only when needed */ + size_t large_table_size_; + /* Command and distance prefix codes (each 64 symbols, stored back-to-back) + used for the next block in FAST_ONE_PASS_COMPRESSION_QUALITY. The command + prefix code is over a smaller alphabet with the following 64 symbols: + 0 - 15: insert length code 0, copy length code 0 - 15, same distance + 16 - 39: insert length code 0, copy length code 0 - 23 + 40 - 63: insert length code 0 - 23, copy length code 0 + Note that symbols 16 and 40 represent the same code in the full alphabet, + but we do not use either of them in FAST_ONE_PASS_COMPRESSION_QUALITY. */ + uint8_t cmd_depths_[128]; + uint16_t cmd_bits_[128]; + /* The compressed form of the command and distance prefix codes for the next + block in FAST_ONE_PASS_COMPRESSION_QUALITY. */ + uint8_t cmd_code_[512]; + size_t cmd_code_numbits_; + /* Command and literal buffers for FAST_TWO_PASS_COMPRESSION_QUALITY. */ + uint32_t* command_buf_; + uint8_t* literal_buf_; + + uint8_t* next_out_; + size_t available_out_; + size_t total_out_; + uint8_t flush_buf_[2]; + BrotliEncoderStreamState stream_state_; + + BROTLI_BOOL is_last_block_emitted_; + BROTLI_BOOL is_initialized_; +} BrotliEncoderStateStruct; + +static BROTLI_BOOL EnsureInitialized(BrotliEncoderState* s); + +size_t BrotliEncoderInputBlockSize(BrotliEncoderState* s) { + if (!EnsureInitialized(s)) return 0; + return (size_t)1 << s->params.lgblock; +} + +static uint64_t UnprocessedInputSize(BrotliEncoderState* s) { + return s->input_pos_ - s->last_processed_pos_; +} + +static size_t RemainingInputBlockSize(BrotliEncoderState* s) { + const uint64_t delta = UnprocessedInputSize(s); + size_t block_size = BrotliEncoderInputBlockSize(s); + if (delta >= block_size) return 0; + return block_size - (size_t)delta; +} + +BROTLI_BOOL BrotliEncoderSetParameter( + BrotliEncoderState* state, BrotliEncoderParameter p, uint32_t value) { + /* Changing parameters on the fly is not implemented yet. */ + if (state->is_initialized_) return BROTLI_FALSE; + /* TODO: Validate/clamp params here. */ + switch (p) { + case BROTLI_PARAM_MODE: + state->params.mode = (BrotliEncoderMode)value; + return BROTLI_TRUE; + + case BROTLI_PARAM_QUALITY: + state->params.quality = (int)value; + return BROTLI_TRUE; + + case BROTLI_PARAM_LGWIN: + state->params.lgwin = (int)value; + return BROTLI_TRUE; + + case BROTLI_PARAM_LGBLOCK: + state->params.lgblock = (int)value; + return BROTLI_TRUE; + + default: return BROTLI_FALSE; + } +} + +static void RecomputeDistancePrefixes(Command* cmds, + size_t num_commands, + uint32_t num_direct_distance_codes, + uint32_t distance_postfix_bits) { + size_t i; + if (num_direct_distance_codes == 0 && distance_postfix_bits == 0) { + return; + } + for (i = 0; i < num_commands; ++i) { + Command* cmd = &cmds[i]; + if (CommandCopyLen(cmd) && cmd->cmd_prefix_ >= 128) { + PrefixEncodeCopyDistance(CommandDistanceCode(cmd), + num_direct_distance_codes, + distance_postfix_bits, + &cmd->dist_prefix_, + &cmd->dist_extra_); + } + } +} + +/* Wraps 64-bit input position to 32-bit ringbuffer position preserving + "not-a-first-lap" feature. */ +static uint32_t WrapPosition(uint64_t position) { + uint32_t result = (uint32_t)position; + uint64_t gb = position >> 30; + if (gb > 2) { + /* Wrap every 2GiB; The first 3GB are continous. */ + result = (result & ((1u << 30) - 1)) | ((uint32_t)((gb - 1) & 1) + 1) << 30; + } + return result; +} + +static uint8_t* GetBrotliStorage(BrotliEncoderState* s, size_t size) { + MemoryManager* m = &s->memory_manager_; + if (s->storage_size_ < size) { + BROTLI_FREE(m, s->storage_); + s->storage_ = BROTLI_ALLOC(m, uint8_t, size); + if (BROTLI_IS_OOM(m)) return NULL; + s->storage_size_ = size; + } + return s->storage_; +} + +static size_t HashTableSize(size_t max_table_size, size_t input_size) { + size_t htsize = 256; + while (htsize < max_table_size && htsize < input_size) { + htsize <<= 1; + } + return htsize; +} + +static int* GetHashTable(BrotliEncoderState* s, int quality, + size_t input_size, size_t* table_size) { + /* Use smaller hash table when input.size() is smaller, since we + fill the table, incurring O(hash table size) overhead for + compression, and if the input is short, we won't need that + many hash table entries anyway. */ + MemoryManager* m = &s->memory_manager_; + const size_t max_table_size = MaxHashTableSize(quality); + size_t htsize = HashTableSize(max_table_size, input_size); + int* table; + assert(max_table_size >= 256); + + if (htsize <= sizeof(s->small_table_) / sizeof(s->small_table_[0])) { + table = s->small_table_; + } else { + if (htsize > s->large_table_size_) { + s->large_table_size_ = htsize; + BROTLI_FREE(m, s->large_table_); + s->large_table_ = BROTLI_ALLOC(m, int, htsize); + if (BROTLI_IS_OOM(m)) return 0; + } + table = s->large_table_; + } + + *table_size = htsize; + memset(table, 0, htsize * sizeof(*table)); + return table; +} + +static void EncodeWindowBits(int lgwin, uint8_t* last_byte, + uint8_t* last_byte_bits) { + if (lgwin == 16) { + *last_byte = 0; + *last_byte_bits = 1; + } else if (lgwin == 17) { + *last_byte = 1; + *last_byte_bits = 7; + } else if (lgwin > 17) { + *last_byte = (uint8_t)(((lgwin - 17) << 1) | 1); + *last_byte_bits = 4; + } else { + *last_byte = (uint8_t)(((lgwin - 8) << 4) | 1); + *last_byte_bits = 7; + } +} + +/* Initializes the command and distance prefix codes for the first block. */ +static void InitCommandPrefixCodes(uint8_t cmd_depths[128], + uint16_t cmd_bits[128], + uint8_t cmd_code[512], + size_t* cmd_code_numbits) { + static const uint8_t kDefaultCommandDepths[128] = { + 0, 4, 4, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 0, 0, 0, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, + 7, 7, 10, 10, 10, 10, 10, 10, 0, 4, 4, 5, 5, 5, 6, 6, + 7, 8, 8, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, + 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 10, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + }; + static const uint16_t kDefaultCommandBits[128] = { + 0, 0, 8, 9, 3, 35, 7, 71, + 39, 103, 23, 47, 175, 111, 239, 31, + 0, 0, 0, 4, 12, 2, 10, 6, + 13, 29, 11, 43, 27, 59, 87, 55, + 15, 79, 319, 831, 191, 703, 447, 959, + 0, 14, 1, 25, 5, 21, 19, 51, + 119, 159, 95, 223, 479, 991, 63, 575, + 127, 639, 383, 895, 255, 767, 511, 1023, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 27, 59, 7, 39, 23, 55, 30, 1, 17, 9, 25, 5, 0, 8, 4, 12, + 2, 10, 6, 21, 13, 29, 3, 19, 11, 15, 47, 31, 95, 63, 127, 255, + 767, 2815, 1791, 3839, 511, 2559, 1535, 3583, 1023, 3071, 2047, 4095, + }; + static const uint8_t kDefaultCommandCode[] = { + 0xff, 0x77, 0xd5, 0xbf, 0xe7, 0xde, 0xea, 0x9e, 0x51, 0x5d, 0xde, 0xc6, + 0x70, 0x57, 0xbc, 0x58, 0x58, 0x58, 0xd8, 0xd8, 0x58, 0xd5, 0xcb, 0x8c, + 0xea, 0xe0, 0xc3, 0x87, 0x1f, 0x83, 0xc1, 0x60, 0x1c, 0x67, 0xb2, 0xaa, + 0x06, 0x83, 0xc1, 0x60, 0x30, 0x18, 0xcc, 0xa1, 0xce, 0x88, 0x54, 0x94, + 0x46, 0xe1, 0xb0, 0xd0, 0x4e, 0xb2, 0xf7, 0x04, 0x00, + }; + static const size_t kDefaultCommandCodeNumBits = 448; + COPY_ARRAY(cmd_depths, kDefaultCommandDepths); + COPY_ARRAY(cmd_bits, kDefaultCommandBits); + + /* Initialize the pre-compressed form of the command and distance prefix + codes. */ + COPY_ARRAY(cmd_code, kDefaultCommandCode); + *cmd_code_numbits = kDefaultCommandCodeNumBits; +} + +/* Decide about the context map based on the ability of the prediction + ability of the previous byte UTF8-prefix on the next byte. The + prediction ability is calculated as shannon entropy. Here we need + shannon entropy instead of 'BitsEntropy' since the prefix will be + encoded with the remaining 6 bits of the following byte, and + BitsEntropy will assume that symbol to be stored alone using Huffman + coding. */ +static void ChooseContextMap(int quality, + uint32_t* bigram_histo, + size_t* num_literal_contexts, + const uint32_t** literal_context_map) { + static const uint32_t kStaticContextMapContinuation[64] = { + 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + static const uint32_t kStaticContextMapSimpleUTF8[64] = { + 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + + uint32_t monogram_histo[3] = { 0 }; + uint32_t two_prefix_histo[6] = { 0 }; + size_t total = 0; + size_t i; + size_t dummy; + double entropy[4]; + for (i = 0; i < 9; ++i) { + size_t j = i; + total += bigram_histo[i]; + monogram_histo[i % 3] += bigram_histo[i]; + if (j >= 6) { + j -= 6; + } + two_prefix_histo[j] += bigram_histo[i]; + } + entropy[1] = ShannonEntropy(monogram_histo, 3, &dummy); + entropy[2] = (ShannonEntropy(two_prefix_histo, 3, &dummy) + + ShannonEntropy(two_prefix_histo + 3, 3, &dummy)); + entropy[3] = 0; + for (i = 0; i < 3; ++i) { + entropy[3] += ShannonEntropy(bigram_histo + 3 * i, 3, &dummy); + } + + assert(total != 0); + entropy[0] = 1.0 / (double)total; + entropy[1] *= entropy[0]; + entropy[2] *= entropy[0]; + entropy[3] *= entropy[0]; + + if (quality < MIN_QUALITY_FOR_HQ_CONTEXT_MODELING) { + /* 3 context models is a bit slower, don't use it at lower qualities. */ + entropy[3] = entropy[1] * 10; + } + /* If expected savings by symbol are less than 0.2 bits, skip the + context modeling -- in exchange for faster decoding speed. */ + if (entropy[1] - entropy[2] < 0.2 && + entropy[1] - entropy[3] < 0.2) { + *num_literal_contexts = 1; + } else if (entropy[2] - entropy[3] < 0.02) { + *num_literal_contexts = 2; + *literal_context_map = kStaticContextMapSimpleUTF8; + } else { + *num_literal_contexts = 3; + *literal_context_map = kStaticContextMapContinuation; + } +} + +static void DecideOverLiteralContextModeling(const uint8_t* input, + size_t start_pos, size_t length, size_t mask, int quality, + ContextType* literal_context_mode, size_t* num_literal_contexts, + const uint32_t** literal_context_map) { + if (quality < MIN_QUALITY_FOR_CONTEXT_MODELING || length < 64) { + return; + } else { + /* Gather bigram data of the UTF8 byte prefixes. To make the analysis of + UTF8 data faster we only examine 64 byte long strides at every 4kB + intervals. */ + const size_t end_pos = start_pos + length; + uint32_t bigram_prefix_histo[9] = { 0 }; + for (; start_pos + 64 <= end_pos; start_pos += 4096) { + static const int lut[4] = { 0, 0, 1, 2 }; + const size_t stride_end_pos = start_pos + 64; + int prev = lut[input[start_pos & mask] >> 6] * 3; + size_t pos; + for (pos = start_pos + 1; pos < stride_end_pos; ++pos) { + const uint8_t literal = input[pos & mask]; + ++bigram_prefix_histo[prev + lut[literal >> 6]]; + prev = lut[literal >> 6] * 3; + } + } + *literal_context_mode = CONTEXT_UTF8; + ChooseContextMap(quality, &bigram_prefix_histo[0], num_literal_contexts, + literal_context_map); + } +} + +static BROTLI_BOOL ShouldCompress( + const uint8_t* data, const size_t mask, const uint64_t last_flush_pos, + const size_t bytes, const size_t num_literals, const size_t num_commands) { + if (num_commands < (bytes >> 8) + 2) { + if (num_literals > 0.99 * (double)bytes) { + uint32_t literal_histo[256] = { 0 }; + static const uint32_t kSampleRate = 13; + static const double kMinEntropy = 7.92; + const double bit_cost_threshold = + (double)bytes * kMinEntropy / kSampleRate; + size_t t = (bytes + kSampleRate - 1) / kSampleRate; + uint32_t pos = (uint32_t)last_flush_pos; + size_t i; + for (i = 0; i < t; i++) { + ++literal_histo[data[pos & mask]]; + pos += kSampleRate; + } + if (BitsEntropy(literal_histo, 256) > bit_cost_threshold) { + return BROTLI_FALSE; + } + } + } + return BROTLI_TRUE; +} + +static void WriteMetaBlockInternal(MemoryManager* m, + const uint8_t* data, + const size_t mask, + const uint64_t last_flush_pos, + const size_t bytes, + const BROTLI_BOOL is_last, + const BrotliEncoderParams* params, + const uint8_t prev_byte, + const uint8_t prev_byte2, + const size_t num_literals, + const size_t num_commands, + Command* commands, + const int* saved_dist_cache, + int* dist_cache, + size_t* storage_ix, + uint8_t* storage) { + const uint32_t wrapped_last_flush_pos = WrapPosition(last_flush_pos); + uint8_t last_byte; + uint8_t last_byte_bits; + uint32_t num_direct_distance_codes = 0; + uint32_t distance_postfix_bits = 0; + + if (bytes == 0) { + /* Write the ISLAST and ISEMPTY bits. */ + BrotliWriteBits(2, 3, storage_ix, storage); + *storage_ix = (*storage_ix + 7u) & ~7u; + return; + } + + if (!ShouldCompress(data, mask, last_flush_pos, bytes, + num_literals, num_commands)) { + /* Restore the distance cache, as its last update by + CreateBackwardReferences is now unused. */ + memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0])); + BrotliStoreUncompressedMetaBlock(is_last, data, + wrapped_last_flush_pos, mask, bytes, + storage_ix, storage); + return; + } + + last_byte = storage[0]; + last_byte_bits = (uint8_t)(*storage_ix & 0xff); + if (params->quality >= MIN_QUALITY_FOR_RECOMPUTE_DISTANCE_PREFIXES && + params->mode == BROTLI_MODE_FONT) { + num_direct_distance_codes = 12; + distance_postfix_bits = 1; + RecomputeDistancePrefixes(commands, + num_commands, + num_direct_distance_codes, + distance_postfix_bits); + } + if (params->quality <= MAX_QUALITY_FOR_STATIC_ENRTOPY_CODES) { + BrotliStoreMetaBlockFast(m, data, wrapped_last_flush_pos, + bytes, mask, is_last, + commands, num_commands, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + } else if (params->quality < MIN_QUALITY_FOR_BLOCK_SPLIT) { + BrotliStoreMetaBlockTrivial(m, data, wrapped_last_flush_pos, + bytes, mask, is_last, + commands, num_commands, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + } else { + ContextType literal_context_mode = CONTEXT_UTF8; + MetaBlockSplit mb; + InitMetaBlockSplit(&mb); + if (params->quality < MIN_QUALITY_FOR_HQ_BLOCK_SPLITTING) { + size_t num_literal_contexts = 1; + const uint32_t* literal_context_map = NULL; + DecideOverLiteralContextModeling(data, wrapped_last_flush_pos, + bytes, mask, + params->quality, + &literal_context_mode, + &num_literal_contexts, + &literal_context_map); + if (literal_context_map == NULL) { + BrotliBuildMetaBlockGreedy(m, data, wrapped_last_flush_pos, mask, + commands, num_commands, &mb); + if (BROTLI_IS_OOM(m)) return; + } else { + BrotliBuildMetaBlockGreedyWithContexts(m, data, + wrapped_last_flush_pos, + mask, + prev_byte, prev_byte2, + literal_context_mode, + num_literal_contexts, + literal_context_map, + commands, num_commands, + &mb); + if (BROTLI_IS_OOM(m)) return; + } + } else { + if (!BrotliIsMostlyUTF8(data, wrapped_last_flush_pos, mask, bytes, + kMinUTF8Ratio)) { + literal_context_mode = CONTEXT_SIGNED; + } + BrotliBuildMetaBlock(m, data, wrapped_last_flush_pos, mask, params, + prev_byte, prev_byte2, + commands, num_commands, + literal_context_mode, + &mb); + if (BROTLI_IS_OOM(m)) return; + } + if (params->quality >= MIN_QUALITY_FOR_OPTIMIZE_HISTOGRAMS) { + BrotliOptimizeHistograms(num_direct_distance_codes, + distance_postfix_bits, + &mb); + } + BrotliStoreMetaBlock(m, data, wrapped_last_flush_pos, bytes, mask, + prev_byte, prev_byte2, + is_last, + num_direct_distance_codes, + distance_postfix_bits, + literal_context_mode, + commands, num_commands, + &mb, + storage_ix, storage); + if (BROTLI_IS_OOM(m)) return; + DestroyMetaBlockSplit(m, &mb); + } + if (bytes + 4 < (*storage_ix >> 3)) { + /* Restore the distance cache and last byte. */ + memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0])); + storage[0] = last_byte; + *storage_ix = last_byte_bits; + BrotliStoreUncompressedMetaBlock(is_last, data, + wrapped_last_flush_pos, mask, + bytes, storage_ix, storage); + } +} + +static BROTLI_BOOL EnsureInitialized(BrotliEncoderState* s) { + if (BROTLI_IS_OOM(&s->memory_manager_)) return BROTLI_FALSE; + if (s->is_initialized_) return BROTLI_TRUE; + + SanitizeParams(&s->params); + s->params.lgblock = ComputeLgBlock(&s->params); + + RingBufferSetup(&s->params, &s->ringbuffer_); + + /* Initialize last byte with stream header. */ + EncodeWindowBits(s->params.lgwin, &s->last_byte_, &s->last_byte_bits_); + + if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY) { + InitCommandPrefixCodes(s->cmd_depths_, s->cmd_bits_, + s->cmd_code_, &s->cmd_code_numbits_); + } + + /* Initialize hashers. */ + HashersSetup(&s->memory_manager_, &s->hashers_, ChooseHasher(&s->params)); + if (BROTLI_IS_OOM(&s->memory_manager_)) return BROTLI_FALSE; + + s->is_initialized_ = BROTLI_TRUE; + return BROTLI_TRUE; +} + +static void BrotliEncoderInitState(BrotliEncoderState* s) { + s->params.mode = BROTLI_DEFAULT_MODE; + s->params.quality = BROTLI_DEFAULT_QUALITY; + s->params.lgwin = BROTLI_DEFAULT_WINDOW; + s->params.lgblock = 0; + + s->input_pos_ = 0; + s->num_commands_ = 0; + s->num_literals_ = 0; + s->last_insert_len_ = 0; + s->last_flush_pos_ = 0; + s->last_processed_pos_ = 0; + s->prev_byte_ = 0; + s->prev_byte2_ = 0; + s->storage_size_ = 0; + s->storage_ = 0; + s->large_table_ = NULL; + s->large_table_size_ = 0; + s->cmd_code_numbits_ = 0; + s->command_buf_ = NULL; + s->literal_buf_ = NULL; + s->next_out_ = NULL; + s->available_out_ = 0; + s->total_out_ = 0; + s->stream_state_ = BROTLI_STREAM_PROCESSING; + s->is_last_block_emitted_ = BROTLI_FALSE; + s->is_initialized_ = BROTLI_FALSE; + + InitHashers(&s->hashers_); + + RingBufferInit(&s->ringbuffer_); + + s->commands_ = 0; + s->cmd_alloc_size_ = 0; + + /* Initialize distance cache. */ + s->dist_cache_[0] = 4; + s->dist_cache_[1] = 11; + s->dist_cache_[2] = 15; + s->dist_cache_[3] = 16; + /* Save the state of the distance cache in case we need to restore it for + emitting an uncompressed block. */ + memcpy(s->saved_dist_cache_, s->dist_cache_, sizeof(s->dist_cache_)); +} + +BrotliEncoderState* BrotliEncoderCreateInstance(brotli_alloc_func alloc_func, + brotli_free_func free_func, + void* opaque) { + BrotliEncoderState* state = 0; + if (!alloc_func && !free_func) { + state = (BrotliEncoderState*)malloc(sizeof(BrotliEncoderState)); + } else if (alloc_func && free_func) { + state = (BrotliEncoderState*)alloc_func(opaque, sizeof(BrotliEncoderState)); + } + if (state == 0) { + /* BROTLI_DUMP(); */ + return 0; + } + BrotliInitMemoryManager( + &state->memory_manager_, alloc_func, free_func, opaque); + BrotliEncoderInitState(state); + return state; +} + +static void BrotliEncoderCleanupState(BrotliEncoderState* s) { + MemoryManager* m = &s->memory_manager_; + if (BROTLI_IS_OOM(m)) { + BrotliWipeOutMemoryManager(m); + return; + } + BROTLI_FREE(m, s->storage_); + BROTLI_FREE(m, s->commands_); + RingBufferFree(m, &s->ringbuffer_); + DestroyHashers(m, &s->hashers_); + BROTLI_FREE(m, s->large_table_); + BROTLI_FREE(m, s->command_buf_); + BROTLI_FREE(m, s->literal_buf_); +} + +/* Deinitializes and frees BrotliEncoderState instance. */ +void BrotliEncoderDestroyInstance(BrotliEncoderState* state) { + if (!state) { + return; + } else { + MemoryManager* m = &state->memory_manager_; + brotli_free_func free_func = m->free_func; + void* opaque = m->opaque; + BrotliEncoderCleanupState(state); + free_func(opaque, state); + } +} + +void BrotliEncoderCopyInputToRingBuffer(BrotliEncoderState* s, + const size_t input_size, + const uint8_t* input_buffer) { + RingBuffer* ringbuffer_ = &s->ringbuffer_; + MemoryManager* m = &s->memory_manager_; + if (!EnsureInitialized(s)) return; + RingBufferWrite(m, input_buffer, input_size, ringbuffer_); + if (BROTLI_IS_OOM(m)) return; + s->input_pos_ += input_size; + + /* TL;DR: If needed, initialize 7 more bytes in the ring buffer to make the + hashing not depend on uninitialized data. This makes compression + deterministic and it prevents uninitialized memory warnings in Valgrind. + Even without erasing, the output would be valid (but nondeterministic). + + Background information: The compressor stores short (at most 8 bytes) + substrings of the input already read in a hash table, and detects + repetitions by looking up such substrings in the hash table. If it + can find a substring, it checks whether the substring is really there + in the ring buffer (or it's just a hash collision). Should the hash + table become corrupt, this check makes sure that the output is + still valid, albeit the compression ratio would be bad. + + The compressor populates the hash table from the ring buffer as it's + reading new bytes from the input. However, at the last few indexes of + the ring buffer, there are not enough bytes to build full-length + substrings from. Since the hash table always contains full-length + substrings, we erase with dummy 0s here to make sure that those + substrings will contain 0s at the end instead of uninitialized + data. + + Please note that erasing is not necessary (because the + memory region is already initialized since he ring buffer + has a `tail' that holds a copy of the beginning,) so we + skip erasing if we have already gone around at least once in + the ring buffer. + + Only clear during the first round of ringbuffer writes. On + subsequent rounds data in the ringbuffer would be affected. */ + if (ringbuffer_->pos_ <= ringbuffer_->mask_) { + /* This is the first time when the ring buffer is being written. + We clear 7 bytes just after the bytes that have been copied from + the input buffer. + + The ringbuffer has a "tail" that holds a copy of the beginning, + but only once the ring buffer has been fully written once, i.e., + pos <= mask. For the first time, we need to write values + in this tail (where index may be larger than mask), so that + we have exactly defined behavior and don't read un-initialized + memory. Due to performance reasons, hashing reads data using a + LOAD64, which can go 7 bytes beyond the bytes written in the + ringbuffer. */ + memset(ringbuffer_->buffer_ + ringbuffer_->pos_, 0, 7); + } +} + +void BrotliEncoderSetCustomDictionary(BrotliEncoderState* s, size_t size, + const uint8_t* dict) { + size_t max_dict_size = MaxBackwardLimit(s->params.lgwin); + size_t dict_size = size; + MemoryManager* m = &s->memory_manager_; + + if (!EnsureInitialized(s)) return; + + if (dict_size == 0 || + s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY || + s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) { + return; + } + if (size > max_dict_size) { + dict += size - max_dict_size; + dict_size = max_dict_size; + } + BrotliEncoderCopyInputToRingBuffer(s, dict_size, dict); + s->last_flush_pos_ = dict_size; + s->last_processed_pos_ = dict_size; + if (dict_size > 0) { + s->prev_byte_ = dict[dict_size - 1]; + } + if (dict_size > 1) { + s->prev_byte2_ = dict[dict_size - 2]; + } + HashersPrependCustomDictionary(m, &s->hashers_, &s->params, dict_size, dict); + if (BROTLI_IS_OOM(m)) return; +} + +/* Marks all input as processed. + Returns true if position wrapping occurs. */ +static BROTLI_BOOL UpdateLastProcessedPos(BrotliEncoderState* s) { + uint32_t wrapped_last_processed_pos = WrapPosition(s->last_processed_pos_); + uint32_t wrapped_input_pos = WrapPosition(s->input_pos_); + s->last_processed_pos_ = s->input_pos_; + return TO_BROTLI_BOOL(wrapped_input_pos < wrapped_last_processed_pos); +} + +BROTLI_BOOL BrotliEncoderWriteData( + BrotliEncoderState* s, const BROTLI_BOOL is_last, + const BROTLI_BOOL force_flush, size_t* out_size, uint8_t** output) { + const uint64_t delta = UnprocessedInputSize(s); + const uint32_t bytes = (uint32_t)delta; + const uint32_t wrapped_last_processed_pos = + WrapPosition(s->last_processed_pos_); + uint8_t* data; + uint32_t mask; + MemoryManager* m = &s->memory_manager_; + + if (!EnsureInitialized(s)) return BROTLI_FALSE; + data = s->ringbuffer_.buffer_; + mask = s->ringbuffer_.mask_; + + /* Adding more blocks after "last" block is forbidden. */ + if (s->is_last_block_emitted_) return BROTLI_FALSE; + if (is_last) s->is_last_block_emitted_ = BROTLI_TRUE; + + if (delta > BrotliEncoderInputBlockSize(s)) { + return BROTLI_FALSE; + } + if (s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY && + !s->command_buf_) { + s->command_buf_ = + BROTLI_ALLOC(m, uint32_t, kCompressFragmentTwoPassBlockSize); + s->literal_buf_ = + BROTLI_ALLOC(m, uint8_t, kCompressFragmentTwoPassBlockSize); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } + + if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY || + s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) { + uint8_t* storage; + size_t storage_ix = s->last_byte_bits_; + size_t table_size; + int* table; + + if (delta == 0 && !is_last) { + /* We have no new input data and we don't have to finish the stream, so + nothing to do. */ + *out_size = 0; + return BROTLI_TRUE; + } + storage = GetBrotliStorage(s, 2 * bytes + 500); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + storage[0] = s->last_byte_; + table = GetHashTable(s, s->params.quality, bytes, &table_size); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY) { + BrotliCompressFragmentFast( + m, &data[wrapped_last_processed_pos & mask], + bytes, is_last, + table, table_size, + s->cmd_depths_, s->cmd_bits_, + &s->cmd_code_numbits_, s->cmd_code_, + &storage_ix, storage); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } else { + BrotliCompressFragmentTwoPass( + m, &data[wrapped_last_processed_pos & mask], + bytes, is_last, + s->command_buf_, s->literal_buf_, + table, table_size, + &storage_ix, storage); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } + s->last_byte_ = storage[storage_ix >> 3]; + s->last_byte_bits_ = storage_ix & 7u; + UpdateLastProcessedPos(s); + *output = &storage[0]; + *out_size = storage_ix >> 3; + return BROTLI_TRUE; + } + + { + /* Theoretical max number of commands is 1 per 2 bytes. */ + size_t newsize = s->num_commands_ + bytes / 2 + 1; + if (newsize > s->cmd_alloc_size_) { + Command* new_commands; + /* Reserve a bit more memory to allow merging with a next block + without realloc: that would impact speed. */ + newsize += (bytes / 4) + 16; + s->cmd_alloc_size_ = newsize; + new_commands = BROTLI_ALLOC(m, Command, newsize); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + if (s->commands_) { + memcpy(new_commands, s->commands_, sizeof(Command) * s->num_commands_); + BROTLI_FREE(m, s->commands_); + } + s->commands_ = new_commands; + } + } + + BrotliCreateBackwardReferences(m, bytes, wrapped_last_processed_pos, + is_last, data, mask, + &s->params, + &s->hashers_, + s->dist_cache_, + &s->last_insert_len_, + &s->commands_[s->num_commands_], + &s->num_commands_, + &s->num_literals_); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + + { + const size_t max_length = MaxMetablockSize(&s->params); + const size_t max_literals = max_length / 8; + const size_t max_commands = max_length / 8; + const size_t processed_bytes = (size_t)(s->input_pos_ - s->last_flush_pos_); + /* If maximal possible additional block doesn't fit metablock, flush now. */ + /* TODO: Postpone decision until next block arrives? */ + const BROTLI_BOOL next_input_fits_metablock = TO_BROTLI_BOOL( + processed_bytes + BrotliEncoderInputBlockSize(s) <= max_length); + /* If block splitting is not used, then flush as soon as there is some + amount of commands / literals produced. */ + const BROTLI_BOOL should_flush = TO_BROTLI_BOOL( + s->params.quality < MIN_QUALITY_FOR_BLOCK_SPLIT && + s->num_literals_ + s->num_commands_ >= MAX_NUM_DELAYED_SYMBOLS); + if (!is_last && !force_flush && !should_flush && + next_input_fits_metablock && + s->num_literals_ < max_literals && + s->num_commands_ < max_commands) { + /* Merge with next input block. Everything will happen later. */ + if (UpdateLastProcessedPos(s)) { + HashersReset(&s->hashers_, ChooseHasher(&s->params)); + } + *out_size = 0; + return BROTLI_TRUE; + } + } + + /* Create the last insert-only command. */ + if (s->last_insert_len_ > 0) { + InitInsertCommand(&s->commands_[s->num_commands_++], s->last_insert_len_); + s->num_literals_ += s->last_insert_len_; + s->last_insert_len_ = 0; + } + + if (!is_last && s->input_pos_ == s->last_flush_pos_) { + /* We have no new input data and we don't have to finish the stream, so + nothing to do. */ + *out_size = 0; + return BROTLI_TRUE; + } + assert(s->input_pos_ >= s->last_flush_pos_); + assert(s->input_pos_ > s->last_flush_pos_ || is_last); + assert(s->input_pos_ - s->last_flush_pos_ <= 1u << 24); + { + const uint32_t metablock_size = + (uint32_t)(s->input_pos_ - s->last_flush_pos_); + uint8_t* storage = GetBrotliStorage(s, 2 * metablock_size + 500); + size_t storage_ix = s->last_byte_bits_; + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + storage[0] = s->last_byte_; + WriteMetaBlockInternal( + m, data, mask, s->last_flush_pos_, metablock_size, is_last, + &s->params, s->prev_byte_, s->prev_byte2_, + s->num_literals_, s->num_commands_, s->commands_, s->saved_dist_cache_, + s->dist_cache_, &storage_ix, storage); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + s->last_byte_ = storage[storage_ix >> 3]; + s->last_byte_bits_ = storage_ix & 7u; + s->last_flush_pos_ = s->input_pos_; + if (UpdateLastProcessedPos(s)) { + HashersReset(&s->hashers_, ChooseHasher(&s->params)); + } + if (s->last_flush_pos_ > 0) { + s->prev_byte_ = data[((uint32_t)s->last_flush_pos_ - 1) & mask]; + } + if (s->last_flush_pos_ > 1) { + s->prev_byte2_ = data[(uint32_t)(s->last_flush_pos_ - 2) & mask]; + } + s->num_commands_ = 0; + s->num_literals_ = 0; + /* Save the state of the distance cache in case we need to restore it for + emitting an uncompressed block. */ + memcpy(s->saved_dist_cache_, s->dist_cache_, sizeof(s->dist_cache_)); + *output = &storage[0]; + *out_size = storage_ix >> 3; + return BROTLI_TRUE; + } +} + +BROTLI_BOOL BrotliEncoderWriteMetaBlock( + BrotliEncoderState* s, const size_t input_size, const uint8_t* input_buffer, + const BROTLI_BOOL is_last, size_t* encoded_size, uint8_t* encoded_buffer) { + size_t out_size = 0; + uint8_t* output; + int result; + if (!EnsureInitialized(s)) return BROTLI_FALSE; + BrotliEncoderCopyInputToRingBuffer(s, input_size, input_buffer); + result = BrotliEncoderWriteData( + s, is_last, /* force_flush */ BROTLI_TRUE, &out_size, &output); + if (!result || out_size > *encoded_size) { + return BROTLI_FALSE; + } + if (out_size > 0) { + memcpy(encoded_buffer, output, out_size); + } + *encoded_size = out_size; + return BROTLI_TRUE; +} + +BROTLI_BOOL BrotliEncoderWriteMetadata( + BrotliEncoderState* s, const size_t input_size, const uint8_t* input_buffer, + const BROTLI_BOOL is_last, size_t* encoded_size, uint8_t* encoded_buffer) { + uint64_t hdr_buffer_data[2]; + uint8_t* hdr_buffer = (uint8_t*)&hdr_buffer_data[0]; + size_t storage_ix; + if (!EnsureInitialized(s)) return BROTLI_FALSE; + if (input_size > (1 << 24) || input_size + 6 > *encoded_size) { + return BROTLI_FALSE; + } + storage_ix = s->last_byte_bits_; + hdr_buffer[0] = s->last_byte_; + BrotliWriteBits(1, 0, &storage_ix, hdr_buffer); + BrotliWriteBits(2, 3, &storage_ix, hdr_buffer); + BrotliWriteBits(1, 0, &storage_ix, hdr_buffer); + if (input_size == 0) { + BrotliWriteBits(2, 0, &storage_ix, hdr_buffer); + *encoded_size = (storage_ix + 7u) >> 3; + memcpy(encoded_buffer, hdr_buffer, *encoded_size); + } else { + uint32_t nbits = (input_size == 1) ? 0 : + (Log2FloorNonZero((uint32_t)input_size - 1) + 1); + uint32_t nbytes = (nbits + 7) / 8; + size_t hdr_size; + BrotliWriteBits(2, nbytes, &storage_ix, hdr_buffer); + BrotliWriteBits(8 * nbytes, input_size - 1, &storage_ix, hdr_buffer); + hdr_size = (storage_ix + 7u) >> 3; + memcpy(encoded_buffer, hdr_buffer, hdr_size); + memcpy(&encoded_buffer[hdr_size], input_buffer, input_size); + *encoded_size = hdr_size + input_size; + } + if (is_last) { + encoded_buffer[(*encoded_size)++] = 3; + } + s->last_byte_ = 0; + s->last_byte_bits_ = 0; + return BROTLI_TRUE; +} + +BROTLI_BOOL BrotliEncoderFinishStream( + BrotliEncoderState* s, size_t* encoded_size, uint8_t* encoded_buffer) { + if (!EnsureInitialized(s)) return BROTLI_FALSE; + return BrotliEncoderWriteMetaBlock( + s, 0, NULL, 1, encoded_size, encoded_buffer); +} + +static BROTLI_BOOL BrotliCompressBufferQuality10( + int lgwin, size_t input_size, const uint8_t* input_buffer, + size_t* encoded_size, uint8_t* encoded_buffer) { + MemoryManager memory_manager; + MemoryManager* m = &memory_manager; + + const size_t mask = BROTLI_SIZE_MAX >> 1; + const size_t max_backward_limit = MaxBackwardLimit(lgwin); + int dist_cache[4] = { 4, 11, 15, 16 }; + int saved_dist_cache[4] = { 4, 11, 15, 16 }; + BROTLI_BOOL ok = BROTLI_TRUE; + const size_t max_out_size = *encoded_size; + size_t total_out_size = 0; + uint8_t last_byte; + uint8_t last_byte_bits; + H10* hasher; + + const size_t hasher_eff_size = + BROTLI_MIN(size_t, input_size, max_backward_limit + 16); + + BrotliEncoderParams params; + + const int lgmetablock = BROTLI_MIN(int, 24, lgwin + 1); + size_t max_block_size; + const size_t max_metablock_size = (size_t)1 << lgmetablock; + const size_t max_literals_per_metablock = max_metablock_size / 8; + const size_t max_commands_per_metablock = max_metablock_size / 8; + size_t metablock_start = 0; + uint8_t prev_byte = 0; + uint8_t prev_byte2 = 0; + + params.mode = BROTLI_DEFAULT_MODE; + params.quality = 10; + params.lgwin = lgwin; + params.lgblock = 0; + SanitizeParams(¶ms); + params.lgblock = ComputeLgBlock(¶ms); + max_block_size = (size_t)1 << params.lgblock; + + BrotliInitMemoryManager(m, 0, 0, 0); + + assert(input_size <= mask + 1); + EncodeWindowBits(lgwin, &last_byte, &last_byte_bits); + hasher = BROTLI_ALLOC(m, H10, 1); + if (BROTLI_IS_OOM(m)) goto oom; + InitializeH10(hasher); + InitH10(m, hasher, input_buffer, ¶ms, 0, hasher_eff_size, 1); + if (BROTLI_IS_OOM(m)) goto oom; + + while (ok && metablock_start < input_size) { + const size_t metablock_end = + BROTLI_MIN(size_t, input_size, metablock_start + max_metablock_size); + const size_t expected_num_commands = + (metablock_end - metablock_start) / 12 + 16; + Command* commands = 0; + size_t num_commands = 0; + size_t last_insert_len = 0; + size_t num_literals = 0; + size_t metablock_size = 0; + size_t cmd_alloc_size = 0; + BROTLI_BOOL is_last; + uint8_t* storage; + size_t storage_ix; + + size_t block_start; + for (block_start = metablock_start; block_start < metablock_end; ) { + size_t block_size = + BROTLI_MIN(size_t, metablock_end - block_start, max_block_size); + ZopfliNode* nodes = BROTLI_ALLOC(m, ZopfliNode, block_size + 1); + size_t path_size; + size_t new_cmd_alloc_size; + if (BROTLI_IS_OOM(m)) goto oom; + BrotliInitZopfliNodes(nodes, block_size + 1); + StitchToPreviousBlockH10(hasher, block_size, block_start, + input_buffer, mask); + path_size = BrotliZopfliComputeShortestPath( + m, block_size, block_start, input_buffer, mask, ¶ms, + max_backward_limit, dist_cache, hasher, nodes); + if (BROTLI_IS_OOM(m)) goto oom; + /* We allocate a command buffer in the first iteration of this loop that + will be likely big enough for the whole metablock, so that for most + inputs we will not have to reallocate in later iterations. We do the + allocation here and not before the loop, because if the input is small, + this will be allocated after the zopfli cost model is freed, so this + will not increase peak memory usage. + TODO: If the first allocation is too small, increase command + buffer size exponentially. */ + new_cmd_alloc_size = BROTLI_MAX(size_t, expected_num_commands, + num_commands + path_size + 1); + if (cmd_alloc_size != new_cmd_alloc_size) { + Command* new_commands = BROTLI_ALLOC(m, Command, new_cmd_alloc_size); + if (BROTLI_IS_OOM(m)) goto oom; + cmd_alloc_size = new_cmd_alloc_size; + if (commands) { + memcpy(new_commands, commands, sizeof(Command) * num_commands); + BROTLI_FREE(m, commands); + } + commands = new_commands; + } + BrotliZopfliCreateCommands(block_size, block_start, max_backward_limit, + &nodes[0], dist_cache, &last_insert_len, + &commands[num_commands], &num_literals); + num_commands += path_size; + block_start += block_size; + metablock_size += block_size; + BROTLI_FREE(m, nodes); + if (num_literals > max_literals_per_metablock || + num_commands > max_commands_per_metablock) { + break; + } + } + + if (last_insert_len > 0) { + InitInsertCommand(&commands[num_commands++], last_insert_len); + num_literals += last_insert_len; + } + + is_last = TO_BROTLI_BOOL(metablock_start + metablock_size == input_size); + storage = NULL; + storage_ix = last_byte_bits; + + if (metablock_size == 0) { + /* Write the ISLAST and ISEMPTY bits. */ + storage = BROTLI_ALLOC(m, uint8_t, 16); + if (BROTLI_IS_OOM(m)) goto oom; + storage[0] = last_byte; + BrotliWriteBits(2, 3, &storage_ix, storage); + storage_ix = (storage_ix + 7u) & ~7u; + } else if (!ShouldCompress(input_buffer, mask, metablock_start, + metablock_size, num_literals, num_commands)) { + /* Restore the distance cache, as its last update by + CreateBackwardReferences is now unused. */ + memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0])); + storage = BROTLI_ALLOC(m, uint8_t, metablock_size + 16); + if (BROTLI_IS_OOM(m)) goto oom; + storage[0] = last_byte; + BrotliStoreUncompressedMetaBlock(is_last, input_buffer, + metablock_start, mask, metablock_size, + &storage_ix, storage); + } else { + uint32_t num_direct_distance_codes = 0; + uint32_t distance_postfix_bits = 0; + ContextType literal_context_mode = CONTEXT_UTF8; + MetaBlockSplit mb; + InitMetaBlockSplit(&mb); + if (!BrotliIsMostlyUTF8(input_buffer, metablock_start, mask, + metablock_size, kMinUTF8Ratio)) { + literal_context_mode = CONTEXT_SIGNED; + } + BrotliBuildMetaBlock(m, input_buffer, metablock_start, mask, ¶ms, + prev_byte, prev_byte2, + commands, num_commands, + literal_context_mode, + &mb); + if (BROTLI_IS_OOM(m)) goto oom; + BrotliOptimizeHistograms(num_direct_distance_codes, + distance_postfix_bits, + &mb); + storage = BROTLI_ALLOC(m, uint8_t, 2 * metablock_size + 500); + if (BROTLI_IS_OOM(m)) goto oom; + storage[0] = last_byte; + BrotliStoreMetaBlock(m, input_buffer, metablock_start, metablock_size, + mask, prev_byte, prev_byte2, + is_last, + num_direct_distance_codes, + distance_postfix_bits, + literal_context_mode, + commands, num_commands, + &mb, + &storage_ix, storage); + if (BROTLI_IS_OOM(m)) goto oom; + if (metablock_size + 4 < (storage_ix >> 3)) { + /* Restore the distance cache and last byte. */ + memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0])); + storage[0] = last_byte; + storage_ix = last_byte_bits; + BrotliStoreUncompressedMetaBlock(is_last, input_buffer, + metablock_start, mask, + metablock_size, &storage_ix, storage); + } + DestroyMetaBlockSplit(m, &mb); + } + last_byte = storage[storage_ix >> 3]; + last_byte_bits = storage_ix & 7u; + metablock_start += metablock_size; + prev_byte = input_buffer[metablock_start - 1]; + prev_byte2 = input_buffer[metablock_start - 2]; + /* Save the state of the distance cache in case we need to restore it for + emitting an uncompressed block. */ + memcpy(saved_dist_cache, dist_cache, 4 * sizeof(dist_cache[0])); + + { + const size_t out_size = storage_ix >> 3; + total_out_size += out_size; + if (total_out_size <= max_out_size) { + memcpy(encoded_buffer, storage, out_size); + encoded_buffer += out_size; + } else { + ok = BROTLI_FALSE; + } + } + BROTLI_FREE(m, storage); + BROTLI_FREE(m, commands); + } + + *encoded_size = total_out_size; + CleanupH10(m, hasher); + BROTLI_FREE(m, hasher); + return ok; + +oom: + BrotliWipeOutMemoryManager(m); + return BROTLI_FALSE; +} + +size_t BrotliEncoderMaxCompressedSize(size_t input_size) { + /* [window bits / empty metadata] + N * [uncompressed] + [last empty] */ + size_t num_large_blocks = input_size >> 24; + size_t tail = input_size - (num_large_blocks << 24); + size_t tail_overhead = (tail > (1 << 20)) ? 4 : 3; + size_t overhead = 2 + (4 * num_large_blocks) + tail_overhead + 1; + size_t result = input_size + overhead; + if (input_size == 0) return 1; + return (result < input_size) ? 0 : result; +} + +/* Wraps data to uncompressed brotli stream with minimal window size. + |output| should point at region with at least BrotliEncoderMaxCompressedSize + addressable bytes. + Returns the length of stream. */ +static size_t MakeUncompressedStream( + const uint8_t* input, size_t input_size, uint8_t* output) { + size_t size = input_size; + size_t result = 0; + size_t offset = 0; + if (input_size == 0) { + output[0] = 6; + return 1; + } + output[result++] = 0x21; /* window bits = 10, is_last = false */ + output[result++] = 0x03; /* empty metadata, padding */ + while (size > 0) { + uint32_t nibbles = 0; + uint32_t chunk_size; + uint32_t bits; + chunk_size = (size > (1u << 24)) ? (1u << 24) : (uint32_t)size; + if (chunk_size > (1u << 16)) nibbles = (chunk_size > (1u << 20)) ? 2 : 1; + bits = + (nibbles << 1) | ((chunk_size - 1) << 3) | (1u << (19 + 4 * nibbles)); + output[result++] = (uint8_t)bits; + output[result++] = (uint8_t)(bits >> 8); + output[result++] = (uint8_t)(bits >> 16); + if (nibbles == 2) output[result++] = (uint8_t)(bits >> 24); + memcpy(&output[result], &input[offset], chunk_size); + result += chunk_size; + offset += chunk_size; + size -= chunk_size; + } + output[result++] = 3; + return result; +} + +BROTLI_BOOL BrotliEncoderCompress( + int quality, int lgwin, BrotliEncoderMode mode, size_t input_size, + const uint8_t* input_buffer, size_t* encoded_size, + uint8_t* encoded_buffer) { + BrotliEncoderState* s; + size_t out_size = *encoded_size; + const uint8_t* input_start = input_buffer; + uint8_t* output_start = encoded_buffer; + size_t max_out_size = BrotliEncoderMaxCompressedSize(input_size); + if (out_size == 0) { + /* Output buffer needs at least one byte. */ + return BROTLI_FALSE; + } + if (input_size == 0) { + /* Handle the special case of empty input. */ + *encoded_size = 1; + *encoded_buffer = 6; + return BROTLI_TRUE; + } + if (quality == 10) { + /* TODO: Implement this direct path for all quality levels. */ + const int lg_win = BROTLI_MIN(int, 24, BROTLI_MAX(int, 16, lgwin)); + int ok = BrotliCompressBufferQuality10(lg_win, input_size, input_buffer, + encoded_size, encoded_buffer); + if (!ok || (max_out_size && *encoded_size > max_out_size)) { + goto fallback; + } + return BROTLI_TRUE; + } + + s = BrotliEncoderCreateInstance(0, 0, 0); + if (!s) { + return BROTLI_FALSE; + } else { + size_t available_in = input_size; + const uint8_t* next_in = input_buffer; + size_t available_out = *encoded_size; + uint8_t* next_out = encoded_buffer; + size_t total_out = 0; + BROTLI_BOOL result = BROTLI_FALSE; + BrotliEncoderSetParameter(s, BROTLI_PARAM_QUALITY, (uint32_t)quality); + BrotliEncoderSetParameter(s, BROTLI_PARAM_LGWIN, (uint32_t)lgwin); + BrotliEncoderSetParameter(s, BROTLI_PARAM_MODE, (uint32_t)mode); + result = BrotliEncoderCompressStream(s, BROTLI_OPERATION_FINISH, + &available_in, &next_in, &available_out, &next_out, &total_out); + if (!BrotliEncoderIsFinished(s)) result = 0; + *encoded_size = total_out; + BrotliEncoderDestroyInstance(s); + if (!result || (max_out_size && *encoded_size > max_out_size)) { + goto fallback; + } + return BROTLI_TRUE; + } +fallback: + *encoded_size = 0; + if (!max_out_size) return BROTLI_FALSE; + if (out_size >= max_out_size) { + *encoded_size = + MakeUncompressedStream(input_start, input_size, output_start); + return BROTLI_TRUE; + } + return BROTLI_FALSE; +} + +static void InjectBytePaddingBlock(BrotliEncoderState* s) { + uint32_t seal = s->last_byte_; + size_t seal_bits = s->last_byte_bits_; + s->last_byte_ = 0; + s->last_byte_bits_ = 0; + /* is_last = 0, data_nibbles = 11, reseved = 0, meta_nibbles = 00 */ + seal |= 0x6u << seal_bits; + seal_bits += 6; + s->flush_buf_[0] = (uint8_t)seal; + if (seal_bits > 8) s->flush_buf_[1] = (uint8_t)(seal >> 8); + s->next_out_ = s->flush_buf_; + s->available_out_ = (seal_bits + 7) >> 3; +} + +static BROTLI_BOOL BrotliEncoderCompressStreamFast( + BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in, + const uint8_t** next_in, size_t* available_out, uint8_t** next_out, + size_t* total_out) { + const size_t block_size_limit = (size_t)1 << s->params.lgwin; + const size_t buf_size = BROTLI_MIN(size_t, kCompressFragmentTwoPassBlockSize, + BROTLI_MIN(size_t, *available_in, block_size_limit)); + uint32_t* tmp_command_buf = NULL; + uint32_t* command_buf = NULL; + uint8_t* tmp_literal_buf = NULL; + uint8_t* literal_buf = NULL; + MemoryManager* m = &s->memory_manager_; + if (s->params.quality != FAST_ONE_PASS_COMPRESSION_QUALITY && + s->params.quality != FAST_TWO_PASS_COMPRESSION_QUALITY) { + return BROTLI_FALSE; + } + if (s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) { + if (!s->command_buf_ && buf_size == kCompressFragmentTwoPassBlockSize) { + s->command_buf_ = + BROTLI_ALLOC(m, uint32_t, kCompressFragmentTwoPassBlockSize); + s->literal_buf_ = + BROTLI_ALLOC(m, uint8_t, kCompressFragmentTwoPassBlockSize); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } + if (s->command_buf_) { + command_buf = s->command_buf_; + literal_buf = s->literal_buf_; + } else { + tmp_command_buf = BROTLI_ALLOC(m, uint32_t, buf_size); + tmp_literal_buf = BROTLI_ALLOC(m, uint8_t, buf_size); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + command_buf = tmp_command_buf; + literal_buf = tmp_literal_buf; + } + } + + while (BROTLI_TRUE) { + if (s->available_out_ == 0 && + s->stream_state_ == BROTLI_STREAM_FLUSH_REQUESTED) { + s->stream_state_ = BROTLI_STREAM_PROCESSING; + if (s->last_byte_bits_ == 0) break; + InjectBytePaddingBlock(s); + continue; + } + + if (s->available_out_ != 0 && *available_out != 0) { + size_t copy_output_size = + BROTLI_MIN(size_t, s->available_out_, *available_out); + memcpy(*next_out, s->next_out_, copy_output_size); + *next_out += copy_output_size; + *available_out -= copy_output_size; + s->next_out_ += copy_output_size; + s->available_out_ -= copy_output_size; + s->total_out_ += copy_output_size; + if (total_out) *total_out = s->total_out_; + continue; + } + + /* Compress block only when internal output buffer is empty, stream is not + finished, there is no pending flush request, and there is either + additional input or pending operation. */ + if (s->available_out_ == 0 && + s->stream_state_ == BROTLI_STREAM_PROCESSING && + (*available_in != 0 || op != BROTLI_OPERATION_PROCESS)) { + size_t block_size = BROTLI_MIN(size_t, block_size_limit, *available_in); + BROTLI_BOOL is_last = + (*available_in == block_size) && (op == BROTLI_OPERATION_FINISH); + BROTLI_BOOL force_flush = + (*available_in == block_size) && (op == BROTLI_OPERATION_FLUSH); + size_t max_out_size = 2 * block_size + 500; + BROTLI_BOOL inplace = BROTLI_TRUE; + uint8_t* storage = NULL; + size_t storage_ix = s->last_byte_bits_; + size_t table_size; + int* table; + + if (force_flush && block_size == 0) { + s->stream_state_ = BROTLI_STREAM_FLUSH_REQUESTED; + continue; + } + if (max_out_size <= *available_out) { + storage = *next_out; + } else { + inplace = 0; + storage = GetBrotliStorage(s, max_out_size); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } + storage[0] = s->last_byte_; + table = GetHashTable(s, s->params.quality, block_size, &table_size); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + + if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY) { + BrotliCompressFragmentFast(m, *next_in, block_size, is_last, table, + table_size, s->cmd_depths_, s->cmd_bits_, &s->cmd_code_numbits_, + s->cmd_code_, &storage_ix, storage); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } else { + BrotliCompressFragmentTwoPass(m, *next_in, block_size, is_last, + command_buf, literal_buf, table, table_size, + &storage_ix, storage); + if (BROTLI_IS_OOM(m)) return BROTLI_FALSE; + } + *next_in += block_size; + *available_in -= block_size; + if (inplace) { + size_t out_bytes = storage_ix >> 3; + assert(out_bytes <= *available_out); + assert((storage_ix & 7) == 0 || out_bytes < *available_out); + *next_out += out_bytes; + *available_out -= out_bytes; + s->total_out_ += out_bytes; + if (total_out) *total_out = s->total_out_; + } else { + size_t out_bytes = storage_ix >> 3; + s->next_out_ = storage; + s->available_out_ = out_bytes; + } + s->last_byte_ = storage[storage_ix >> 3]; + s->last_byte_bits_ = storage_ix & 7u; + + if (force_flush) s->stream_state_ = BROTLI_STREAM_FLUSH_REQUESTED; + if (is_last) s->stream_state_ = BROTLI_STREAM_FINISHED; + continue; + } + break; + } + BROTLI_FREE(m, tmp_command_buf); + BROTLI_FREE(m, tmp_literal_buf); + return BROTLI_TRUE; +} + +BROTLI_BOOL BrotliEncoderCompressStream( + BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in, + const uint8_t** next_in, size_t* available_out,uint8_t** next_out, + size_t* total_out) { + if (!EnsureInitialized(s)) return BROTLI_FALSE; + + if (s->stream_state_ != BROTLI_STREAM_PROCESSING && *available_in != 0) { + return BROTLI_FALSE; + } + if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY || + s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) { + return BrotliEncoderCompressStreamFast(s, op, available_in, next_in, + available_out, next_out, total_out); + } + while (BROTLI_TRUE) { + size_t remaining_block_size = RemainingInputBlockSize(s); + + if (remaining_block_size != 0 && *available_in != 0) { + size_t copy_input_size = + BROTLI_MIN(size_t, remaining_block_size, *available_in); + BrotliEncoderCopyInputToRingBuffer(s, copy_input_size, *next_in); + *next_in += copy_input_size; + *available_in -= copy_input_size; + continue; + } + + if (s->available_out_ == 0 && + s->stream_state_ == BROTLI_STREAM_FLUSH_REQUESTED) { + s->stream_state_ = BROTLI_STREAM_PROCESSING; + if (s->last_byte_bits_ == 0) break; + InjectBytePaddingBlock(s); + continue; + } + + if (s->available_out_ != 0 && *available_out != 0) { + size_t copy_output_size = + BROTLI_MIN(size_t, s->available_out_, *available_out); + memcpy(*next_out, s->next_out_, copy_output_size); + *next_out += copy_output_size; + *available_out -= copy_output_size; + s->next_out_ += copy_output_size; + s->available_out_ -= copy_output_size; + s->total_out_ += copy_output_size; + if (total_out) *total_out = s->total_out_; + continue; + } + + /* Compress data only when internal outpuf buffer is empty, stream is not + finished and there is no pending flush request. */ + if (s->available_out_ == 0 && + s->stream_state_ == BROTLI_STREAM_PROCESSING) { + if (remaining_block_size == 0 || op != BROTLI_OPERATION_PROCESS) { + BROTLI_BOOL is_last = TO_BROTLI_BOOL( + (*available_in == 0) && op == BROTLI_OPERATION_FINISH); + BROTLI_BOOL force_flush = TO_BROTLI_BOOL( + (*available_in == 0) && op == BROTLI_OPERATION_FLUSH); + BROTLI_BOOL result = BrotliEncoderWriteData(s, is_last, force_flush, + &s->available_out_, &s->next_out_); + if (!result) return BROTLI_FALSE; + if (force_flush) s->stream_state_ = BROTLI_STREAM_FLUSH_REQUESTED; + if (is_last) s->stream_state_ = BROTLI_STREAM_FINISHED; + continue; + } + } + break; + } + return BROTLI_TRUE; +} + +BROTLI_BOOL BrotliEncoderIsFinished(BrotliEncoderState* s) { + return TO_BROTLI_BOOL(s->stream_state_ == BROTLI_STREAM_FINISHED && + !BrotliEncoderHasMoreOutput(s)); +} + +BROTLI_BOOL BrotliEncoderHasMoreOutput(BrotliEncoderState* s) { + return TO_BROTLI_BOOL(s->available_out_ != 0); +} + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/encode.h b/BaseTools/Source/C/BrotliCompress/enc/encode.h new file mode 100644 index 000000000000..be9b5b24053f --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/encode.h @@ -0,0 +1,221 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* API for Brotli compression. */ + +#ifndef BROTLI_ENC_ENCODE_H_ +#define BROTLI_ENC_ENCODE_H_ + +#include "../common/types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const int kBrotliMaxWindowBits = 24; +static const int kBrotliMinWindowBits = 10; +static const int kBrotliMinInputBlockBits = 16; +static const int kBrotliMaxInputBlockBits = 24; + +#define BROTLI_MIN_QUALITY 0 +#define BROTLI_MAX_QUALITY 11 + +typedef enum BrotliEncoderMode { + /* Default compression mode. The compressor does not know anything in + advance about the properties of the input. */ + BROTLI_MODE_GENERIC = 0, + /* Compression mode for UTF-8 format text input. */ + BROTLI_MODE_TEXT = 1, + /* Compression mode used in WOFF 2.0. */ + BROTLI_MODE_FONT = 2 +} BrotliEncoderMode; + +#define BROTLI_DEFAULT_QUALITY 11 +#define BROTLI_DEFAULT_WINDOW 22 +#define BROTLI_DEFAULT_MODE BROTLI_MODE_GENERIC + +typedef enum BrotliEncoderOperation { + BROTLI_OPERATION_PROCESS = 0, + /* Request output stream to flush. Performed when input stream is depleted + and there is enough space in output stream. */ + BROTLI_OPERATION_FLUSH = 1, + /* Request output stream to finish. Performed when input stream is depleted + and there is enough space in output stream. */ + BROTLI_OPERATION_FINISH = 2 +} BrotliEncoderOperation; + +typedef enum BrotliEncoderParameter { + BROTLI_PARAM_MODE = 0, + /* Controls the compression-speed vs compression-density tradeoffs. The higher + the quality, the slower the compression. Range is 0 to 11. */ + BROTLI_PARAM_QUALITY = 1, + /* Base 2 logarithm of the sliding window size. Range is 10 to 24. */ + BROTLI_PARAM_LGWIN = 2, + /* Base 2 logarithm of the maximum input block size. Range is 16 to 24. + If set to 0, the value will be set based on the quality. */ + BROTLI_PARAM_LGBLOCK = 3 +} BrotliEncoderParameter; + +/* A state can not be reused for multiple brotli streams. */ +typedef struct BrotliEncoderStateStruct BrotliEncoderState; + +BROTLI_BOOL BrotliEncoderSetParameter( + BrotliEncoderState* state, BrotliEncoderParameter p, uint32_t value); + +/* Creates the instance of BrotliEncoderState and initializes it. + |alloc_func| and |free_func| MUST be both zero or both non-zero. In the case + they are both zero, default memory allocators are used. |opaque| is passed to + |alloc_func| and |free_func| when they are called. */ +BrotliEncoderState* BrotliEncoderCreateInstance(brotli_alloc_func alloc_func, + brotli_free_func free_func, + void* opaque); + +/* Deinitializes and frees BrotliEncoderState instance. */ +void BrotliEncoderDestroyInstance(BrotliEncoderState* state); +/* The maximum input size that can be processed at once. */ +size_t BrotliEncoderInputBlockSize(BrotliEncoderState* state); + +/* Encodes the data in |input_buffer| as a meta-block and writes it to + |encoded_buffer| (|*encoded_size should| be set to the size of + |encoded_buffer|) and sets |*encoded_size| to the number of bytes that + was written. The |input_size| must not be greater than input_block_size(). + Returns false if there was an error and true otherwise. */ +BROTLI_BOOL BrotliEncoderWriteMetaBlock( + BrotliEncoderState* state, const size_t input_size, + const uint8_t* input_buffer, const BROTLI_BOOL is_last, + size_t* encoded_size, uint8_t* encoded_buffer); + +/* Writes a metadata meta-block containing the given input to encoded_buffer. + |*encoded_size| should be set to the size of the encoded_buffer. + Sets |*encoded_size| to the number of bytes that was written. + Note that the given input data will not be part of the sliding window and + thus no backward references can be made to this data from subsequent + metablocks. |input_size| must not be greater than 2^24 and provided + |*encoded_size| must not be less than |input_size| + 6. + Returns false if there was an error and true otherwise. */ +BROTLI_BOOL BrotliEncoderWriteMetadata( + BrotliEncoderState* state, const size_t input_size, + const uint8_t* input_buffer, const BROTLI_BOOL is_last, + size_t* encoded_size, uint8_t* encoded_buffer); + +/* Writes a zero-length meta-block with end-of-input bit set to the + internal output buffer and copies the output buffer to |encoded_buffer| + (|*encoded_size| should be set to the size of |encoded_buffer|) and sets + |*encoded_size| to the number of bytes written. + Returns false if there was an error and true otherwise. */ +BROTLI_BOOL BrotliEncoderFinishStream( + BrotliEncoderState* state, size_t* encoded_size, uint8_t* encoded_buffer); + +/* Copies the given input data to the internal ring buffer of the compressor. + No processing of the data occurs at this time and this function can be + called multiple times before calling WriteBrotliData() to process the + accumulated input. At most input_block_size() bytes of input data can be + copied to the ring buffer, otherwise the next WriteBrotliData() will fail. + */ +void BrotliEncoderCopyInputToRingBuffer(BrotliEncoderState* state, + const size_t input_size, + const uint8_t* input_buffer); + +/* Processes the accumulated input data and sets |*out_size| to the length of + the new output meta-block, or to zero if no new output meta-block has been + created (in this case the processed input data is buffered internally). + If |*out_size| is positive, |*output| points to the start of the output + data. If |is_last| or |force_flush| is 1, an output meta-block is always + created. However, until |is_last| is 1 encoder may retain up to 7 bits + of the last byte of output. To force encoder to dump the remaining bits + use WriteMetadata() to append an empty meta-data block. + Returns false if the size of the input data is larger than + input_block_size(). */ +BROTLI_BOOL BrotliEncoderWriteData( + BrotliEncoderState* state, const BROTLI_BOOL is_last, + const BROTLI_BOOL force_flush, size_t* out_size, uint8_t** output); + +/* Fills the new state with a dictionary for LZ77, warming up the ringbuffer, + e.g. for custom static dictionaries for data formats. + Not to be confused with the built-in transformable dictionary of Brotli. + To decode, use BrotliSetCustomDictionary() of the decoder with the same + dictionary. */ +void BrotliEncoderSetCustomDictionary(BrotliEncoderState* state, size_t size, + const uint8_t* dict); + +/* Returns buffer size that is large enough to contain BrotliEncoderCompress + output for any input. + Returns 0 if result does not fit size_t. */ +size_t BrotliEncoderMaxCompressedSize(size_t input_size); + +/* Compresses the data in |input_buffer| into |encoded_buffer|, and sets + |*encoded_size| to the compressed length. + BROTLI_DEFAULT_QUALITY, BROTLI_DEFAULT_WINDOW and BROTLI_DEFAULT_MODE should + be used as |quality|, |lgwin| and |mode| if there are no specific + requirements to encoder speed and compression ratio. + If compression fails, |*encoded_size| is set to 0. + If BrotliEncoderMaxCompressedSize(|input_size|) is not zero, then + |*encoded_size| is never set to the bigger value. + Returns false if there was an error and true otherwise. */ +BROTLI_BOOL BrotliEncoderCompress( + int quality, int lgwin, BrotliEncoderMode mode, size_t input_size, + const uint8_t* input_buffer, size_t* encoded_size, uint8_t* encoded_buffer); + +/* Progressively compress input stream and push produced bytes to output stream. + Internally workflow consists of 3 tasks: + * (optional) copy input data to internal buffer + * actually compress data and (optionally) store it to internal buffer + * (optional) copy compressed bytes from internal buffer to output stream + Whenever all 3 tasks can't move forward anymore, or error occurs, this + method returns. + + |available_in| and |next_in| represent input stream; when X bytes of input + are consumed, X is subtracted from |available_in| and added to |next_in|. + |available_out| and |next_out| represent output stream; when Y bytes are + pushed to output, Y is subtracted from |available_out| and added to + |next_out|. |total_out|, if it is not a null-pointer, is assigned to the + total amount of bytes pushed by the instance of encoder to output. + + |op| is used to perform flush or finish the stream. + + Flushing the stream means forcing encoding of all input passed to encoder and + completing the current output block, so it could be fully decoded by stream + decoder. To perform flush |op| must be set to BROTLI_OPERATION_FLUSH. Under + some circumstances (e.g. lack of output stream capacity) this operation would + require several calls to BrotliEncoderCompressStream. The method must be + called again until both input stream is depleted and encoder has no more + output (see BrotliEncoderHasMoreOutput) after the method is called. + + Finishing the stream means encoding of all input passed to encoder and + adding specific "final" marks, so stream decoder could determine that stream + is complete. To perform finish |op| must be set to BROTLI_OPERATION_FINISH. + Under some circumstances (e.g. lack of output stream capacity) this operation + would require several calls to BrotliEncoderCompressStream. The method must + be called again until both input stream is depleted and encoder has no more + output (see BrotliEncoderHasMoreOutput) after the method is called. + + WARNING: when flushing and finishing, |op| should not change until operation + is complete; input stream should not be refilled as well. + + Returns false if there was an error and true otherwise. +*/ +BROTLI_BOOL BrotliEncoderCompressStream( + BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in, + const uint8_t** next_in, size_t* available_out, uint8_t** next_out, + size_t* total_out); + +/* Check if encoder is in "finished" state, i.e. no more input is acceptable and + no more output will be produced. + Works only with BrotliEncoderCompressStream workflow. + Returns 1 if stream is finished and 0 otherwise. */ +BROTLI_BOOL BrotliEncoderIsFinished(BrotliEncoderState* s); + +/* Check if encoder has more output bytes in internal buffer. + Works only with BrotliEncoderCompressStream workflow. + Returns 1 if has more output (in internal buffer) and 0 otherwise. */ +BROTLI_BOOL BrotliEncoderHasMoreOutput(BrotliEncoderState* s); + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_ENCODE_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h b/BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h new file mode 100644 index 000000000000..d2a31c54eed0 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h @@ -0,0 +1,27 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* API for parallel Brotli compression + Note that this is only a proof of concept currently and not part of the + final API yet. */ + +#ifndef BROTLI_ENC_ENCODE_PARALLEL_H_ +#define BROTLI_ENC_ENCODE_PARALLEL_H_ + +#include "../common/types.h" +#include "./compressor.h" + +namespace brotli { + +int BrotliCompressBufferParallel(BrotliParams params, + size_t input_size, + const uint8_t* input_buffer, + size_t* encoded_size, + uint8_t* encoded_buffer); + +} /* namespace brotli */ + +#endif /* BROTLI_ENC_ENCODE_PARALLEL_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c new file mode 100644 index 000000000000..e2a27ed365fc --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c @@ -0,0 +1,501 @@ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Entropy encoding (Huffman) utilities. */ + +#include "./entropy_encode.h" + +#include /* memset */ + +#include "../common/constants.h" +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +BROTLI_BOOL BrotliSetDepth( + int p0, HuffmanTree* pool, uint8_t* depth, int max_depth) { + int stack[16]; + int level = 0; + int p = p0; + assert(max_depth <= 15); + stack[0] = -1; + while (BROTLI_TRUE) { + if (pool[p].index_left_ >= 0) { + level++; + if (level > max_depth) return BROTLI_FALSE; + stack[level] = pool[p].index_right_or_value_; + p = pool[p].index_left_; + continue; + } else { + depth[pool[p].index_right_or_value_] = (uint8_t)level; + } + while (level >= 0 && stack[level] == -1) level--; + if (level < 0) return BROTLI_TRUE; + p = stack[level]; + stack[level] = -1; + } +} + +/* Sort the root nodes, least popular first. */ +static BROTLI_INLINE BROTLI_BOOL SortHuffmanTree( + const HuffmanTree* v0, const HuffmanTree* v1) { + if (v0->total_count_ != v1->total_count_) { + return TO_BROTLI_BOOL(v0->total_count_ < v1->total_count_); + } + return TO_BROTLI_BOOL(v0->index_right_or_value_ > v1->index_right_or_value_); +} + +/* This function will create a Huffman tree. + + The catch here is that the tree cannot be arbitrarily deep. + Brotli specifies a maximum depth of 15 bits for "code trees" + and 7 bits for "code length code trees." + + count_limit is the value that is to be faked as the minimum value + and this minimum value is raised until the tree matches the + maximum length requirement. + + This algorithm is not of excellent performance for very long data blocks, + especially when population counts are longer than 2**tree_limit, but + we are not planning to use this with extremely long blocks. + + See http://en.wikipedia.org/wiki/Huffman_coding */ +void BrotliCreateHuffmanTree(const uint32_t *data, + const size_t length, + const int tree_limit, + HuffmanTree* tree, + uint8_t *depth) { + uint32_t count_limit; + HuffmanTree sentinel; + InitHuffmanTree(&sentinel, BROTLI_UINT32_MAX, -1, -1); + /* For block sizes below 64 kB, we never need to do a second iteration + of this loop. Probably all of our block sizes will be smaller than + that, so this loop is mostly of academic interest. If we actually + would need this, we would be better off with the Katajainen algorithm. */ + for (count_limit = 1; ; count_limit *= 2) { + size_t n = 0; + size_t i; + size_t j; + size_t k; + for (i = length; i != 0;) { + --i; + if (data[i]) { + const uint32_t count = BROTLI_MAX(uint32_t, data[i], count_limit); + InitHuffmanTree(&tree[n++], count, -1, (int16_t)i); + } + } + + if (n == 1) { + depth[tree[0].index_right_or_value_] = 1; /* Only one element. */ + break; + } + + SortHuffmanTreeItems(tree, n, SortHuffmanTree); + + /* The nodes are: + [0, n): the sorted leaf nodes that we start with. + [n]: we add a sentinel here. + [n + 1, 2n): new parent nodes are added here, starting from + (n+1). These are naturally in ascending order. + [2n]: we add a sentinel at the end as well. + There will be (2n+1) elements at the end. */ + tree[n] = sentinel; + tree[n + 1] = sentinel; + + i = 0; /* Points to the next leaf node. */ + j = n + 1; /* Points to the next non-leaf node. */ + for (k = n - 1; k != 0; --k) { + size_t left, right; + if (tree[i].total_count_ <= tree[j].total_count_) { + left = i; + ++i; + } else { + left = j; + ++j; + } + if (tree[i].total_count_ <= tree[j].total_count_) { + right = i; + ++i; + } else { + right = j; + ++j; + } + + { + /* The sentinel node becomes the parent node. */ + size_t j_end = 2 * n - k; + tree[j_end].total_count_ = + tree[left].total_count_ + tree[right].total_count_; + tree[j_end].index_left_ = (int16_t)left; + tree[j_end].index_right_or_value_ = (int16_t)right; + + /* Add back the last sentinel node. */ + tree[j_end + 1] = sentinel; + } + } + if (BrotliSetDepth((int)(2 * n - 1), &tree[0], depth, tree_limit)) { + /* We need to pack the Huffman tree in tree_limit bits. If this was not + successful, add fake entities to the lowest values and retry. */ + break; + } + } +} + +static void Reverse(uint8_t* v, size_t start, size_t end) { + --end; + while (start < end) { + uint8_t tmp = v[start]; + v[start] = v[end]; + v[end] = tmp; + ++start; + --end; + } +} + +static void BrotliWriteHuffmanTreeRepetitions( + const uint8_t previous_value, + const uint8_t value, + size_t repetitions, + size_t* tree_size, + uint8_t* tree, + uint8_t* extra_bits_data) { + assert(repetitions > 0); + if (previous_value != value) { + tree[*tree_size] = value; + extra_bits_data[*tree_size] = 0; + ++(*tree_size); + --repetitions; + } + if (repetitions == 7) { + tree[*tree_size] = value; + extra_bits_data[*tree_size] = 0; + ++(*tree_size); + --repetitions; + } + if (repetitions < 3) { + size_t i; + for (i = 0; i < repetitions; ++i) { + tree[*tree_size] = value; + extra_bits_data[*tree_size] = 0; + ++(*tree_size); + } + } else { + size_t start = *tree_size; + repetitions -= 3; + while (BROTLI_TRUE) { + tree[*tree_size] = BROTLI_REPEAT_PREVIOUS_CODE_LENGTH; + extra_bits_data[*tree_size] = repetitions & 0x3; + ++(*tree_size); + repetitions >>= 2; + if (repetitions == 0) { + break; + } + --repetitions; + } + Reverse(tree, start, *tree_size); + Reverse(extra_bits_data, start, *tree_size); + } +} + +static void BrotliWriteHuffmanTreeRepetitionsZeros( + size_t repetitions, + size_t* tree_size, + uint8_t* tree, + uint8_t* extra_bits_data) { + if (repetitions == 11) { + tree[*tree_size] = 0; + extra_bits_data[*tree_size] = 0; + ++(*tree_size); + --repetitions; + } + if (repetitions < 3) { + size_t i; + for (i = 0; i < repetitions; ++i) { + tree[*tree_size] = 0; + extra_bits_data[*tree_size] = 0; + ++(*tree_size); + } + } else { + size_t start = *tree_size; + repetitions -= 3; + while (BROTLI_TRUE) { + tree[*tree_size] = BROTLI_REPEAT_ZERO_CODE_LENGTH; + extra_bits_data[*tree_size] = repetitions & 0x7; + ++(*tree_size); + repetitions >>= 3; + if (repetitions == 0) { + break; + } + --repetitions; + } + Reverse(tree, start, *tree_size); + Reverse(extra_bits_data, start, *tree_size); + } +} + +void BrotliOptimizeHuffmanCountsForRle(size_t length, uint32_t* counts, + uint8_t* good_for_rle) { + size_t nonzero_count = 0; + size_t stride; + size_t limit; + size_t sum; + const size_t streak_limit = 1240; + /* Let's make the Huffman code more compatible with rle encoding. */ + size_t i; + for (i = 0; i < length; i++) { + if (counts[i]) { + ++nonzero_count; + } + } + if (nonzero_count < 16) { + return; + } + while (length != 0 && counts[length - 1] == 0) { + --length; + } + if (length == 0) { + return; /* All zeros. */ + } + /* Now counts[0..length - 1] does not have trailing zeros. */ + { + size_t nonzeros = 0; + uint32_t smallest_nonzero = 1 << 30; + for (i = 0; i < length; ++i) { + if (counts[i] != 0) { + ++nonzeros; + if (smallest_nonzero > counts[i]) { + smallest_nonzero = counts[i]; + } + } + } + if (nonzeros < 5) { + /* Small histogram will model it well. */ + return; + } + if (smallest_nonzero < 4) { + size_t zeros = length - nonzeros; + if (zeros < 6) { + for (i = 1; i < length - 1; ++i) { + if (counts[i - 1] != 0 && counts[i] == 0 && counts[i + 1] != 0) { + counts[i] = 1; + } + } + } + } + if (nonzeros < 28) { + return; + } + } + /* 2) Let's mark all population counts that already can be encoded + with an rle code. */ + memset(good_for_rle, 0, length); + { + /* Let's not spoil any of the existing good rle codes. + Mark any seq of 0's that is longer as 5 as a good_for_rle. + Mark any seq of non-0's that is longer as 7 as a good_for_rle. */ + uint32_t symbol = counts[0]; + size_t step = 0; + for (i = 0; i <= length; ++i) { + if (i == length || counts[i] != symbol) { + if ((symbol == 0 && step >= 5) || + (symbol != 0 && step >= 7)) { + size_t k; + for (k = 0; k < step; ++k) { + good_for_rle[i - k - 1] = 1; + } + } + step = 1; + if (i != length) { + symbol = counts[i]; + } + } else { + ++step; + } + } + } + /* 3) Let's replace those population counts that lead to more rle codes. + Math here is in 24.8 fixed point representation. */ + stride = 0; + limit = 256 * (counts[0] + counts[1] + counts[2]) / 3 + 420; + sum = 0; + for (i = 0; i <= length; ++i) { + if (i == length || good_for_rle[i] || + (i != 0 && good_for_rle[i - 1]) || + (256 * counts[i] - limit + streak_limit) >= 2 * streak_limit) { + if (stride >= 4 || (stride >= 3 && sum == 0)) { + size_t k; + /* The stride must end, collapse what we have, if we have enough (4). */ + size_t count = (sum + stride / 2) / stride; + if (count == 0) { + count = 1; + } + if (sum == 0) { + /* Don't make an all zeros stride to be upgraded to ones. */ + count = 0; + } + for (k = 0; k < stride; ++k) { + /* We don't want to change value at counts[i], + that is already belonging to the next stride. Thus - 1. */ + counts[i - k - 1] = (uint32_t)count; + } + } + stride = 0; + sum = 0; + if (i < length - 2) { + /* All interesting strides have a count of at least 4, */ + /* at least when non-zeros. */ + limit = 256 * (counts[i] + counts[i + 1] + counts[i + 2]) / 3 + 420; + } else if (i < length) { + limit = 256 * counts[i]; + } else { + limit = 0; + } + } + ++stride; + if (i != length) { + sum += counts[i]; + if (stride >= 4) { + limit = (256 * sum + stride / 2) / stride; + } + if (stride == 4) { + limit += 120; + } + } + } +} + +static void DecideOverRleUse(const uint8_t* depth, const size_t length, + BROTLI_BOOL *use_rle_for_non_zero, + BROTLI_BOOL *use_rle_for_zero) { + size_t total_reps_zero = 0; + size_t total_reps_non_zero = 0; + size_t count_reps_zero = 1; + size_t count_reps_non_zero = 1; + size_t i; + for (i = 0; i < length;) { + const uint8_t value = depth[i]; + size_t reps = 1; + size_t k; + for (k = i + 1; k < length && depth[k] == value; ++k) { + ++reps; + } + if (reps >= 3 && value == 0) { + total_reps_zero += reps; + ++count_reps_zero; + } + if (reps >= 4 && value != 0) { + total_reps_non_zero += reps; + ++count_reps_non_zero; + } + i += reps; + } + *use_rle_for_non_zero = + TO_BROTLI_BOOL(total_reps_non_zero > count_reps_non_zero * 2); + *use_rle_for_zero = TO_BROTLI_BOOL(total_reps_zero > count_reps_zero * 2); +} + +void BrotliWriteHuffmanTree(const uint8_t* depth, + size_t length, + size_t* tree_size, + uint8_t* tree, + uint8_t* extra_bits_data) { + uint8_t previous_value = BROTLI_INITIAL_REPEATED_CODE_LENGTH; + size_t i; + BROTLI_BOOL use_rle_for_non_zero = BROTLI_FALSE; + BROTLI_BOOL use_rle_for_zero = BROTLI_FALSE; + + /* Throw away trailing zeros. */ + size_t new_length = length; + for (i = 0; i < length; ++i) { + if (depth[length - i - 1] == 0) { + --new_length; + } else { + break; + } + } + + /* First gather statistics on if it is a good idea to do rle. */ + if (length > 50) { + /* Find rle coding for longer codes. + Shorter codes seem not to benefit from rle. */ + DecideOverRleUse(depth, new_length, + &use_rle_for_non_zero, &use_rle_for_zero); + } + + /* Actual rle coding. */ + for (i = 0; i < new_length;) { + const uint8_t value = depth[i]; + size_t reps = 1; + if ((value != 0 && use_rle_for_non_zero) || + (value == 0 && use_rle_for_zero)) { + size_t k; + for (k = i + 1; k < new_length && depth[k] == value; ++k) { + ++reps; + } + } + if (value == 0) { + BrotliWriteHuffmanTreeRepetitionsZeros( + reps, tree_size, tree, extra_bits_data); + } else { + BrotliWriteHuffmanTreeRepetitions(previous_value, + value, reps, tree_size, + tree, extra_bits_data); + previous_value = value; + } + i += reps; + } +} + +static uint16_t BrotliReverseBits(size_t num_bits, uint16_t bits) { + static const size_t kLut[16] = { /* Pre-reversed 4-bit values. */ + 0x0, 0x8, 0x4, 0xc, 0x2, 0xa, 0x6, 0xe, + 0x1, 0x9, 0x5, 0xd, 0x3, 0xb, 0x7, 0xf + }; + size_t retval = kLut[bits & 0xf]; + size_t i; + for (i = 4; i < num_bits; i += 4) { + retval <<= 4; + bits = (uint16_t)(bits >> 4); + retval |= kLut[bits & 0xf]; + } + retval >>= ((0 - num_bits) & 0x3); + return (uint16_t)retval; +} + +/* 0..15 are values for bits */ +#define MAX_HUFFMAN_BITS 16 + +void BrotliConvertBitDepthsToSymbols(const uint8_t *depth, + size_t len, + uint16_t *bits) { + /* In Brotli, all bit depths are [1..15] + 0 bit depth means that the symbol does not exist. */ + uint16_t bl_count[MAX_HUFFMAN_BITS] = { 0 }; + uint16_t next_code[MAX_HUFFMAN_BITS]; + size_t i; + int code = 0; + for (i = 0; i < len; ++i) { + ++bl_count[depth[i]]; + } + bl_count[0] = 0; + next_code[0] = 0; + for (i = 1; i < MAX_HUFFMAN_BITS; ++i) { + code = (code + bl_count[i - 1]) << 1; + next_code[i] = (uint16_t)code; + } + for (i = 0; i < len; ++i) { + if (depth[i]) { + bits[i] = BrotliReverseBits(depth[i], next_code[depth[i]]++); + } + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h new file mode 100644 index 000000000000..0a9c354f7174 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h @@ -0,0 +1,122 @@ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Entropy encoding (Huffman) utilities. */ + +#ifndef BROTLI_ENC_ENTROPY_ENCODE_H_ +#define BROTLI_ENC_ENTROPY_ENCODE_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* A node of a Huffman tree. */ +typedef struct HuffmanTree { + uint32_t total_count_; + int16_t index_left_; + int16_t index_right_or_value_; +} HuffmanTree; + +static BROTLI_INLINE void InitHuffmanTree(HuffmanTree* self, uint32_t count, + int16_t left, int16_t right) { + self->total_count_ = count; + self->index_left_ = left; + self->index_right_or_value_ = right; +} + +/* Returns 1 is assignment of depths succeded, otherwise 0. */ +BROTLI_INTERNAL BROTLI_BOOL BrotliSetDepth( + int p, HuffmanTree* pool, uint8_t* depth, int max_depth); + +/* This function will create a Huffman tree. + + The (data,length) contains the population counts. + The tree_limit is the maximum bit depth of the Huffman codes. + + The depth contains the tree, i.e., how many bits are used for + the symbol. + + The actual Huffman tree is constructed in the tree[] array, which has to + be at least 2 * length + 1 long. + + See http://en.wikipedia.org/wiki/Huffman_coding */ +BROTLI_INTERNAL void BrotliCreateHuffmanTree(const uint32_t *data, + const size_t length, + const int tree_limit, + HuffmanTree* tree, + uint8_t *depth); + +/* Change the population counts in a way that the consequent + Huffman tree compression, especially its rle-part will be more + likely to compress this data more efficiently. + + length contains the size of the histogram. + counts contains the population counts. + good_for_rle is a buffer of at least length size */ +BROTLI_INTERNAL void BrotliOptimizeHuffmanCountsForRle( + size_t length, uint32_t* counts, uint8_t* good_for_rle); + +/* Write a Huffman tree from bit depths into the bitstream representation + of a Huffman tree. The generated Huffman tree is to be compressed once + more using a Huffman tree */ +BROTLI_INTERNAL void BrotliWriteHuffmanTree(const uint8_t* depth, + size_t num, + size_t* tree_size, + uint8_t* tree, + uint8_t* extra_bits_data); + +/* Get the actual bit values for a tree of bit depths. */ +BROTLI_INTERNAL void BrotliConvertBitDepthsToSymbols(const uint8_t *depth, + size_t len, + uint16_t *bits); + +/* Input size optimized Shell sort. */ +typedef BROTLI_BOOL (*HuffmanTreeComparator)( + const HuffmanTree*, const HuffmanTree*); +static BROTLI_INLINE void SortHuffmanTreeItems(HuffmanTree* items, + const size_t n, HuffmanTreeComparator comparator) { + static const size_t gaps[] = {132, 57, 23, 10, 4, 1}; + if (n < 13) { + /* Insertion sort. */ + size_t i; + for (i = 1; i < n; ++i) { + HuffmanTree tmp = items[i]; + size_t k = i; + size_t j = i - 1; + while (comparator(&tmp, &items[j])) { + items[k] = items[j]; + k = j; + if (!j--) break; + } + items[k] = tmp; + } + return; + } else { + /* Shell sort. */ + int g = n < 57 ? 2 : 0; + for (; g < 6; ++g) { + size_t gap = gaps[g]; + size_t i; + for (i = gap; i < n; ++i) { + size_t j = i; + HuffmanTree tmp = items[i]; + for (; j >= gap && comparator(&tmp, &items[j - gap]); j -= gap) { + items[j] = items[j - gap]; + } + items[j] = tmp; + } + } + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_ENTROPY_ENCODE_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h new file mode 100644 index 000000000000..160153c5ca1c --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h @@ -0,0 +1,539 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Static entropy codes used for faster meta-block encoding. */ + +#ifndef BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_ +#define BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_ + +#include "../common/constants.h" +#include "../common/port.h" +#include "../common/types.h" +#include "./write_bits.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const uint8_t kCodeLengthDepth[18] = { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 0, 4, 4, +}; + +static const uint8_t kStaticCommandCodeDepth[BROTLI_NUM_COMMAND_SYMBOLS] = { + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, +}; + +static const uint8_t kStaticDistanceCodeDepth[64] = { + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +}; + +static const uint32_t kCodeLengthBits[18] = { + 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 15, 31, 0, 11, 7, +}; + +static BROTLI_INLINE void StoreStaticCodeLengthCode( + size_t* storage_ix, uint8_t* storage) { + BrotliWriteBits( + 40, MAKE_UINT64_T(0x0000ffU, 0x55555554U), storage_ix, storage); +} + +static const uint64_t kZeroRepsBits[BROTLI_NUM_COMMAND_SYMBOLS] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000017, 0x00000027, + 0x00000037, 0x00000047, 0x00000057, 0x00000067, 0x00000077, 0x00000770, + 0x00000b87, 0x00001387, 0x00001b87, 0x00002387, 0x00002b87, 0x00003387, + 0x00003b87, 0x00000397, 0x00000b97, 0x00001397, 0x00001b97, 0x00002397, + 0x00002b97, 0x00003397, 0x00003b97, 0x000003a7, 0x00000ba7, 0x000013a7, + 0x00001ba7, 0x000023a7, 0x00002ba7, 0x000033a7, 0x00003ba7, 0x000003b7, + 0x00000bb7, 0x000013b7, 0x00001bb7, 0x000023b7, 0x00002bb7, 0x000033b7, + 0x00003bb7, 0x000003c7, 0x00000bc7, 0x000013c7, 0x00001bc7, 0x000023c7, + 0x00002bc7, 0x000033c7, 0x00003bc7, 0x000003d7, 0x00000bd7, 0x000013d7, + 0x00001bd7, 0x000023d7, 0x00002bd7, 0x000033d7, 0x00003bd7, 0x000003e7, + 0x00000be7, 0x000013e7, 0x00001be7, 0x000023e7, 0x00002be7, 0x000033e7, + 0x00003be7, 0x000003f7, 0x00000bf7, 0x000013f7, 0x00001bf7, 0x000023f7, + 0x00002bf7, 0x000033f7, 0x00003bf7, 0x0001c387, 0x0005c387, 0x0009c387, + 0x000dc387, 0x0011c387, 0x0015c387, 0x0019c387, 0x001dc387, 0x0001cb87, + 0x0005cb87, 0x0009cb87, 0x000dcb87, 0x0011cb87, 0x0015cb87, 0x0019cb87, + 0x001dcb87, 0x0001d387, 0x0005d387, 0x0009d387, 0x000dd387, 0x0011d387, + 0x0015d387, 0x0019d387, 0x001dd387, 0x0001db87, 0x0005db87, 0x0009db87, + 0x000ddb87, 0x0011db87, 0x0015db87, 0x0019db87, 0x001ddb87, 0x0001e387, + 0x0005e387, 0x0009e387, 0x000de387, 0x0011e387, 0x0015e387, 0x0019e387, + 0x001de387, 0x0001eb87, 0x0005eb87, 0x0009eb87, 0x000deb87, 0x0011eb87, + 0x0015eb87, 0x0019eb87, 0x001deb87, 0x0001f387, 0x0005f387, 0x0009f387, + 0x000df387, 0x0011f387, 0x0015f387, 0x0019f387, 0x001df387, 0x0001fb87, + 0x0005fb87, 0x0009fb87, 0x000dfb87, 0x0011fb87, 0x0015fb87, 0x0019fb87, + 0x001dfb87, 0x0001c397, 0x0005c397, 0x0009c397, 0x000dc397, 0x0011c397, + 0x0015c397, 0x0019c397, 0x001dc397, 0x0001cb97, 0x0005cb97, 0x0009cb97, + 0x000dcb97, 0x0011cb97, 0x0015cb97, 0x0019cb97, 0x001dcb97, 0x0001d397, + 0x0005d397, 0x0009d397, 0x000dd397, 0x0011d397, 0x0015d397, 0x0019d397, + 0x001dd397, 0x0001db97, 0x0005db97, 0x0009db97, 0x000ddb97, 0x0011db97, + 0x0015db97, 0x0019db97, 0x001ddb97, 0x0001e397, 0x0005e397, 0x0009e397, + 0x000de397, 0x0011e397, 0x0015e397, 0x0019e397, 0x001de397, 0x0001eb97, + 0x0005eb97, 0x0009eb97, 0x000deb97, 0x0011eb97, 0x0015eb97, 0x0019eb97, + 0x001deb97, 0x0001f397, 0x0005f397, 0x0009f397, 0x000df397, 0x0011f397, + 0x0015f397, 0x0019f397, 0x001df397, 0x0001fb97, 0x0005fb97, 0x0009fb97, + 0x000dfb97, 0x0011fb97, 0x0015fb97, 0x0019fb97, 0x001dfb97, 0x0001c3a7, + 0x0005c3a7, 0x0009c3a7, 0x000dc3a7, 0x0011c3a7, 0x0015c3a7, 0x0019c3a7, + 0x001dc3a7, 0x0001cba7, 0x0005cba7, 0x0009cba7, 0x000dcba7, 0x0011cba7, + 0x0015cba7, 0x0019cba7, 0x001dcba7, 0x0001d3a7, 0x0005d3a7, 0x0009d3a7, + 0x000dd3a7, 0x0011d3a7, 0x0015d3a7, 0x0019d3a7, 0x001dd3a7, 0x0001dba7, + 0x0005dba7, 0x0009dba7, 0x000ddba7, 0x0011dba7, 0x0015dba7, 0x0019dba7, + 0x001ddba7, 0x0001e3a7, 0x0005e3a7, 0x0009e3a7, 0x000de3a7, 0x0011e3a7, + 0x0015e3a7, 0x0019e3a7, 0x001de3a7, 0x0001eba7, 0x0005eba7, 0x0009eba7, + 0x000deba7, 0x0011eba7, 0x0015eba7, 0x0019eba7, 0x001deba7, 0x0001f3a7, + 0x0005f3a7, 0x0009f3a7, 0x000df3a7, 0x0011f3a7, 0x0015f3a7, 0x0019f3a7, + 0x001df3a7, 0x0001fba7, 0x0005fba7, 0x0009fba7, 0x000dfba7, 0x0011fba7, + 0x0015fba7, 0x0019fba7, 0x001dfba7, 0x0001c3b7, 0x0005c3b7, 0x0009c3b7, + 0x000dc3b7, 0x0011c3b7, 0x0015c3b7, 0x0019c3b7, 0x001dc3b7, 0x0001cbb7, + 0x0005cbb7, 0x0009cbb7, 0x000dcbb7, 0x0011cbb7, 0x0015cbb7, 0x0019cbb7, + 0x001dcbb7, 0x0001d3b7, 0x0005d3b7, 0x0009d3b7, 0x000dd3b7, 0x0011d3b7, + 0x0015d3b7, 0x0019d3b7, 0x001dd3b7, 0x0001dbb7, 0x0005dbb7, 0x0009dbb7, + 0x000ddbb7, 0x0011dbb7, 0x0015dbb7, 0x0019dbb7, 0x001ddbb7, 0x0001e3b7, + 0x0005e3b7, 0x0009e3b7, 0x000de3b7, 0x0011e3b7, 0x0015e3b7, 0x0019e3b7, + 0x001de3b7, 0x0001ebb7, 0x0005ebb7, 0x0009ebb7, 0x000debb7, 0x0011ebb7, + 0x0015ebb7, 0x0019ebb7, 0x001debb7, 0x0001f3b7, 0x0005f3b7, 0x0009f3b7, + 0x000df3b7, 0x0011f3b7, 0x0015f3b7, 0x0019f3b7, 0x001df3b7, 0x0001fbb7, + 0x0005fbb7, 0x0009fbb7, 0x000dfbb7, 0x0011fbb7, 0x0015fbb7, 0x0019fbb7, + 0x001dfbb7, 0x0001c3c7, 0x0005c3c7, 0x0009c3c7, 0x000dc3c7, 0x0011c3c7, + 0x0015c3c7, 0x0019c3c7, 0x001dc3c7, 0x0001cbc7, 0x0005cbc7, 0x0009cbc7, + 0x000dcbc7, 0x0011cbc7, 0x0015cbc7, 0x0019cbc7, 0x001dcbc7, 0x0001d3c7, + 0x0005d3c7, 0x0009d3c7, 0x000dd3c7, 0x0011d3c7, 0x0015d3c7, 0x0019d3c7, + 0x001dd3c7, 0x0001dbc7, 0x0005dbc7, 0x0009dbc7, 0x000ddbc7, 0x0011dbc7, + 0x0015dbc7, 0x0019dbc7, 0x001ddbc7, 0x0001e3c7, 0x0005e3c7, 0x0009e3c7, + 0x000de3c7, 0x0011e3c7, 0x0015e3c7, 0x0019e3c7, 0x001de3c7, 0x0001ebc7, + 0x0005ebc7, 0x0009ebc7, 0x000debc7, 0x0011ebc7, 0x0015ebc7, 0x0019ebc7, + 0x001debc7, 0x0001f3c7, 0x0005f3c7, 0x0009f3c7, 0x000df3c7, 0x0011f3c7, + 0x0015f3c7, 0x0019f3c7, 0x001df3c7, 0x0001fbc7, 0x0005fbc7, 0x0009fbc7, + 0x000dfbc7, 0x0011fbc7, 0x0015fbc7, 0x0019fbc7, 0x001dfbc7, 0x0001c3d7, + 0x0005c3d7, 0x0009c3d7, 0x000dc3d7, 0x0011c3d7, 0x0015c3d7, 0x0019c3d7, + 0x001dc3d7, 0x0001cbd7, 0x0005cbd7, 0x0009cbd7, 0x000dcbd7, 0x0011cbd7, + 0x0015cbd7, 0x0019cbd7, 0x001dcbd7, 0x0001d3d7, 0x0005d3d7, 0x0009d3d7, + 0x000dd3d7, 0x0011d3d7, 0x0015d3d7, 0x0019d3d7, 0x001dd3d7, 0x0001dbd7, + 0x0005dbd7, 0x0009dbd7, 0x000ddbd7, 0x0011dbd7, 0x0015dbd7, 0x0019dbd7, + 0x001ddbd7, 0x0001e3d7, 0x0005e3d7, 0x0009e3d7, 0x000de3d7, 0x0011e3d7, + 0x0015e3d7, 0x0019e3d7, 0x001de3d7, 0x0001ebd7, 0x0005ebd7, 0x0009ebd7, + 0x000debd7, 0x0011ebd7, 0x0015ebd7, 0x0019ebd7, 0x001debd7, 0x0001f3d7, + 0x0005f3d7, 0x0009f3d7, 0x000df3d7, 0x0011f3d7, 0x0015f3d7, 0x0019f3d7, + 0x001df3d7, 0x0001fbd7, 0x0005fbd7, 0x0009fbd7, 0x000dfbd7, 0x0011fbd7, + 0x0015fbd7, 0x0019fbd7, 0x001dfbd7, 0x0001c3e7, 0x0005c3e7, 0x0009c3e7, + 0x000dc3e7, 0x0011c3e7, 0x0015c3e7, 0x0019c3e7, 0x001dc3e7, 0x0001cbe7, + 0x0005cbe7, 0x0009cbe7, 0x000dcbe7, 0x0011cbe7, 0x0015cbe7, 0x0019cbe7, + 0x001dcbe7, 0x0001d3e7, 0x0005d3e7, 0x0009d3e7, 0x000dd3e7, 0x0011d3e7, + 0x0015d3e7, 0x0019d3e7, 0x001dd3e7, 0x0001dbe7, 0x0005dbe7, 0x0009dbe7, + 0x000ddbe7, 0x0011dbe7, 0x0015dbe7, 0x0019dbe7, 0x001ddbe7, 0x0001e3e7, + 0x0005e3e7, 0x0009e3e7, 0x000de3e7, 0x0011e3e7, 0x0015e3e7, 0x0019e3e7, + 0x001de3e7, 0x0001ebe7, 0x0005ebe7, 0x0009ebe7, 0x000debe7, 0x0011ebe7, + 0x0015ebe7, 0x0019ebe7, 0x001debe7, 0x0001f3e7, 0x0005f3e7, 0x0009f3e7, + 0x000df3e7, 0x0011f3e7, 0x0015f3e7, 0x0019f3e7, 0x001df3e7, 0x0001fbe7, + 0x0005fbe7, 0x0009fbe7, 0x000dfbe7, 0x0011fbe7, 0x0015fbe7, 0x0019fbe7, + 0x001dfbe7, 0x0001c3f7, 0x0005c3f7, 0x0009c3f7, 0x000dc3f7, 0x0011c3f7, + 0x0015c3f7, 0x0019c3f7, 0x001dc3f7, 0x0001cbf7, 0x0005cbf7, 0x0009cbf7, + 0x000dcbf7, 0x0011cbf7, 0x0015cbf7, 0x0019cbf7, 0x001dcbf7, 0x0001d3f7, + 0x0005d3f7, 0x0009d3f7, 0x000dd3f7, 0x0011d3f7, 0x0015d3f7, 0x0019d3f7, + 0x001dd3f7, 0x0001dbf7, 0x0005dbf7, 0x0009dbf7, 0x000ddbf7, 0x0011dbf7, + 0x0015dbf7, 0x0019dbf7, 0x001ddbf7, 0x0001e3f7, 0x0005e3f7, 0x0009e3f7, + 0x000de3f7, 0x0011e3f7, 0x0015e3f7, 0x0019e3f7, 0x001de3f7, 0x0001ebf7, + 0x0005ebf7, 0x0009ebf7, 0x000debf7, 0x0011ebf7, 0x0015ebf7, 0x0019ebf7, + 0x001debf7, 0x0001f3f7, 0x0005f3f7, 0x0009f3f7, 0x000df3f7, 0x0011f3f7, + 0x0015f3f7, 0x0019f3f7, 0x001df3f7, 0x0001fbf7, 0x0005fbf7, 0x0009fbf7, + 0x000dfbf7, 0x0011fbf7, 0x0015fbf7, 0x0019fbf7, 0x001dfbf7, 0x00e1c387, + 0x02e1c387, 0x04e1c387, 0x06e1c387, 0x08e1c387, 0x0ae1c387, 0x0ce1c387, + 0x0ee1c387, 0x00e5c387, 0x02e5c387, 0x04e5c387, 0x06e5c387, 0x08e5c387, + 0x0ae5c387, 0x0ce5c387, 0x0ee5c387, 0x00e9c387, 0x02e9c387, 0x04e9c387, + 0x06e9c387, 0x08e9c387, 0x0ae9c387, 0x0ce9c387, 0x0ee9c387, 0x00edc387, + 0x02edc387, 0x04edc387, 0x06edc387, 0x08edc387, 0x0aedc387, 0x0cedc387, + 0x0eedc387, 0x00f1c387, 0x02f1c387, 0x04f1c387, 0x06f1c387, 0x08f1c387, + 0x0af1c387, 0x0cf1c387, 0x0ef1c387, 0x00f5c387, 0x02f5c387, 0x04f5c387, + 0x06f5c387, 0x08f5c387, 0x0af5c387, 0x0cf5c387, 0x0ef5c387, 0x00f9c387, + 0x02f9c387, 0x04f9c387, 0x06f9c387, 0x08f9c387, 0x0af9c387, 0x0cf9c387, + 0x0ef9c387, 0x00fdc387, 0x02fdc387, 0x04fdc387, 0x06fdc387, 0x08fdc387, + 0x0afdc387, 0x0cfdc387, 0x0efdc387, 0x00e1cb87, 0x02e1cb87, 0x04e1cb87, + 0x06e1cb87, 0x08e1cb87, 0x0ae1cb87, 0x0ce1cb87, 0x0ee1cb87, 0x00e5cb87, + 0x02e5cb87, 0x04e5cb87, 0x06e5cb87, 0x08e5cb87, 0x0ae5cb87, 0x0ce5cb87, + 0x0ee5cb87, 0x00e9cb87, 0x02e9cb87, 0x04e9cb87, 0x06e9cb87, 0x08e9cb87, + 0x0ae9cb87, 0x0ce9cb87, 0x0ee9cb87, 0x00edcb87, 0x02edcb87, 0x04edcb87, + 0x06edcb87, 0x08edcb87, 0x0aedcb87, 0x0cedcb87, 0x0eedcb87, 0x00f1cb87, + 0x02f1cb87, 0x04f1cb87, 0x06f1cb87, 0x08f1cb87, 0x0af1cb87, 0x0cf1cb87, + 0x0ef1cb87, 0x00f5cb87, 0x02f5cb87, 0x04f5cb87, 0x06f5cb87, 0x08f5cb87, + 0x0af5cb87, 0x0cf5cb87, 0x0ef5cb87, 0x00f9cb87, 0x02f9cb87, 0x04f9cb87, + 0x06f9cb87, 0x08f9cb87, +}; + +static const uint32_t kZeroRepsDepth[BROTLI_NUM_COMMAND_SYMBOLS] = { + 0, 4, 8, 7, 7, 7, 7, 7, 7, 7, 7, 11, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, +}; + +static const uint64_t kNonZeroRepsBits[BROTLI_NUM_COMMAND_SYMBOLS] = { + 0x0000000b, 0x0000001b, 0x0000002b, 0x0000003b, 0x000002cb, 0x000006cb, + 0x00000acb, 0x00000ecb, 0x000002db, 0x000006db, 0x00000adb, 0x00000edb, + 0x000002eb, 0x000006eb, 0x00000aeb, 0x00000eeb, 0x000002fb, 0x000006fb, + 0x00000afb, 0x00000efb, 0x0000b2cb, 0x0001b2cb, 0x0002b2cb, 0x0003b2cb, + 0x0000b6cb, 0x0001b6cb, 0x0002b6cb, 0x0003b6cb, 0x0000bacb, 0x0001bacb, + 0x0002bacb, 0x0003bacb, 0x0000becb, 0x0001becb, 0x0002becb, 0x0003becb, + 0x0000b2db, 0x0001b2db, 0x0002b2db, 0x0003b2db, 0x0000b6db, 0x0001b6db, + 0x0002b6db, 0x0003b6db, 0x0000badb, 0x0001badb, 0x0002badb, 0x0003badb, + 0x0000bedb, 0x0001bedb, 0x0002bedb, 0x0003bedb, 0x0000b2eb, 0x0001b2eb, + 0x0002b2eb, 0x0003b2eb, 0x0000b6eb, 0x0001b6eb, 0x0002b6eb, 0x0003b6eb, + 0x0000baeb, 0x0001baeb, 0x0002baeb, 0x0003baeb, 0x0000beeb, 0x0001beeb, + 0x0002beeb, 0x0003beeb, 0x0000b2fb, 0x0001b2fb, 0x0002b2fb, 0x0003b2fb, + 0x0000b6fb, 0x0001b6fb, 0x0002b6fb, 0x0003b6fb, 0x0000bafb, 0x0001bafb, + 0x0002bafb, 0x0003bafb, 0x0000befb, 0x0001befb, 0x0002befb, 0x0003befb, + 0x002cb2cb, 0x006cb2cb, 0x00acb2cb, 0x00ecb2cb, 0x002db2cb, 0x006db2cb, + 0x00adb2cb, 0x00edb2cb, 0x002eb2cb, 0x006eb2cb, 0x00aeb2cb, 0x00eeb2cb, + 0x002fb2cb, 0x006fb2cb, 0x00afb2cb, 0x00efb2cb, 0x002cb6cb, 0x006cb6cb, + 0x00acb6cb, 0x00ecb6cb, 0x002db6cb, 0x006db6cb, 0x00adb6cb, 0x00edb6cb, + 0x002eb6cb, 0x006eb6cb, 0x00aeb6cb, 0x00eeb6cb, 0x002fb6cb, 0x006fb6cb, + 0x00afb6cb, 0x00efb6cb, 0x002cbacb, 0x006cbacb, 0x00acbacb, 0x00ecbacb, + 0x002dbacb, 0x006dbacb, 0x00adbacb, 0x00edbacb, 0x002ebacb, 0x006ebacb, + 0x00aebacb, 0x00eebacb, 0x002fbacb, 0x006fbacb, 0x00afbacb, 0x00efbacb, + 0x002cbecb, 0x006cbecb, 0x00acbecb, 0x00ecbecb, 0x002dbecb, 0x006dbecb, + 0x00adbecb, 0x00edbecb, 0x002ebecb, 0x006ebecb, 0x00aebecb, 0x00eebecb, + 0x002fbecb, 0x006fbecb, 0x00afbecb, 0x00efbecb, 0x002cb2db, 0x006cb2db, + 0x00acb2db, 0x00ecb2db, 0x002db2db, 0x006db2db, 0x00adb2db, 0x00edb2db, + 0x002eb2db, 0x006eb2db, 0x00aeb2db, 0x00eeb2db, 0x002fb2db, 0x006fb2db, + 0x00afb2db, 0x00efb2db, 0x002cb6db, 0x006cb6db, 0x00acb6db, 0x00ecb6db, + 0x002db6db, 0x006db6db, 0x00adb6db, 0x00edb6db, 0x002eb6db, 0x006eb6db, + 0x00aeb6db, 0x00eeb6db, 0x002fb6db, 0x006fb6db, 0x00afb6db, 0x00efb6db, + 0x002cbadb, 0x006cbadb, 0x00acbadb, 0x00ecbadb, 0x002dbadb, 0x006dbadb, + 0x00adbadb, 0x00edbadb, 0x002ebadb, 0x006ebadb, 0x00aebadb, 0x00eebadb, + 0x002fbadb, 0x006fbadb, 0x00afbadb, 0x00efbadb, 0x002cbedb, 0x006cbedb, + 0x00acbedb, 0x00ecbedb, 0x002dbedb, 0x006dbedb, 0x00adbedb, 0x00edbedb, + 0x002ebedb, 0x006ebedb, 0x00aebedb, 0x00eebedb, 0x002fbedb, 0x006fbedb, + 0x00afbedb, 0x00efbedb, 0x002cb2eb, 0x006cb2eb, 0x00acb2eb, 0x00ecb2eb, + 0x002db2eb, 0x006db2eb, 0x00adb2eb, 0x00edb2eb, 0x002eb2eb, 0x006eb2eb, + 0x00aeb2eb, 0x00eeb2eb, 0x002fb2eb, 0x006fb2eb, 0x00afb2eb, 0x00efb2eb, + 0x002cb6eb, 0x006cb6eb, 0x00acb6eb, 0x00ecb6eb, 0x002db6eb, 0x006db6eb, + 0x00adb6eb, 0x00edb6eb, 0x002eb6eb, 0x006eb6eb, 0x00aeb6eb, 0x00eeb6eb, + 0x002fb6eb, 0x006fb6eb, 0x00afb6eb, 0x00efb6eb, 0x002cbaeb, 0x006cbaeb, + 0x00acbaeb, 0x00ecbaeb, 0x002dbaeb, 0x006dbaeb, 0x00adbaeb, 0x00edbaeb, + 0x002ebaeb, 0x006ebaeb, 0x00aebaeb, 0x00eebaeb, 0x002fbaeb, 0x006fbaeb, + 0x00afbaeb, 0x00efbaeb, 0x002cbeeb, 0x006cbeeb, 0x00acbeeb, 0x00ecbeeb, + 0x002dbeeb, 0x006dbeeb, 0x00adbeeb, 0x00edbeeb, 0x002ebeeb, 0x006ebeeb, + 0x00aebeeb, 0x00eebeeb, 0x002fbeeb, 0x006fbeeb, 0x00afbeeb, 0x00efbeeb, + 0x002cb2fb, 0x006cb2fb, 0x00acb2fb, 0x00ecb2fb, 0x002db2fb, 0x006db2fb, + 0x00adb2fb, 0x00edb2fb, 0x002eb2fb, 0x006eb2fb, 0x00aeb2fb, 0x00eeb2fb, + 0x002fb2fb, 0x006fb2fb, 0x00afb2fb, 0x00efb2fb, 0x002cb6fb, 0x006cb6fb, + 0x00acb6fb, 0x00ecb6fb, 0x002db6fb, 0x006db6fb, 0x00adb6fb, 0x00edb6fb, + 0x002eb6fb, 0x006eb6fb, 0x00aeb6fb, 0x00eeb6fb, 0x002fb6fb, 0x006fb6fb, + 0x00afb6fb, 0x00efb6fb, 0x002cbafb, 0x006cbafb, 0x00acbafb, 0x00ecbafb, + 0x002dbafb, 0x006dbafb, 0x00adbafb, 0x00edbafb, 0x002ebafb, 0x006ebafb, + 0x00aebafb, 0x00eebafb, 0x002fbafb, 0x006fbafb, 0x00afbafb, 0x00efbafb, + 0x002cbefb, 0x006cbefb, 0x00acbefb, 0x00ecbefb, 0x002dbefb, 0x006dbefb, + 0x00adbefb, 0x00edbefb, 0x002ebefb, 0x006ebefb, 0x00aebefb, 0x00eebefb, + 0x002fbefb, 0x006fbefb, 0x00afbefb, 0x00efbefb, 0x0b2cb2cb, 0x1b2cb2cb, + 0x2b2cb2cb, 0x3b2cb2cb, 0x0b6cb2cb, 0x1b6cb2cb, 0x2b6cb2cb, 0x3b6cb2cb, + 0x0bacb2cb, 0x1bacb2cb, 0x2bacb2cb, 0x3bacb2cb, 0x0becb2cb, 0x1becb2cb, + 0x2becb2cb, 0x3becb2cb, 0x0b2db2cb, 0x1b2db2cb, 0x2b2db2cb, 0x3b2db2cb, + 0x0b6db2cb, 0x1b6db2cb, 0x2b6db2cb, 0x3b6db2cb, 0x0badb2cb, 0x1badb2cb, + 0x2badb2cb, 0x3badb2cb, 0x0bedb2cb, 0x1bedb2cb, 0x2bedb2cb, 0x3bedb2cb, + 0x0b2eb2cb, 0x1b2eb2cb, 0x2b2eb2cb, 0x3b2eb2cb, 0x0b6eb2cb, 0x1b6eb2cb, + 0x2b6eb2cb, 0x3b6eb2cb, 0x0baeb2cb, 0x1baeb2cb, 0x2baeb2cb, 0x3baeb2cb, + 0x0beeb2cb, 0x1beeb2cb, 0x2beeb2cb, 0x3beeb2cb, 0x0b2fb2cb, 0x1b2fb2cb, + 0x2b2fb2cb, 0x3b2fb2cb, 0x0b6fb2cb, 0x1b6fb2cb, 0x2b6fb2cb, 0x3b6fb2cb, + 0x0bafb2cb, 0x1bafb2cb, 0x2bafb2cb, 0x3bafb2cb, 0x0befb2cb, 0x1befb2cb, + 0x2befb2cb, 0x3befb2cb, 0x0b2cb6cb, 0x1b2cb6cb, 0x2b2cb6cb, 0x3b2cb6cb, + 0x0b6cb6cb, 0x1b6cb6cb, 0x2b6cb6cb, 0x3b6cb6cb, 0x0bacb6cb, 0x1bacb6cb, + 0x2bacb6cb, 0x3bacb6cb, 0x0becb6cb, 0x1becb6cb, 0x2becb6cb, 0x3becb6cb, + 0x0b2db6cb, 0x1b2db6cb, 0x2b2db6cb, 0x3b2db6cb, 0x0b6db6cb, 0x1b6db6cb, + 0x2b6db6cb, 0x3b6db6cb, 0x0badb6cb, 0x1badb6cb, 0x2badb6cb, 0x3badb6cb, + 0x0bedb6cb, 0x1bedb6cb, 0x2bedb6cb, 0x3bedb6cb, 0x0b2eb6cb, 0x1b2eb6cb, + 0x2b2eb6cb, 0x3b2eb6cb, 0x0b6eb6cb, 0x1b6eb6cb, 0x2b6eb6cb, 0x3b6eb6cb, + 0x0baeb6cb, 0x1baeb6cb, 0x2baeb6cb, 0x3baeb6cb, 0x0beeb6cb, 0x1beeb6cb, + 0x2beeb6cb, 0x3beeb6cb, 0x0b2fb6cb, 0x1b2fb6cb, 0x2b2fb6cb, 0x3b2fb6cb, + 0x0b6fb6cb, 0x1b6fb6cb, 0x2b6fb6cb, 0x3b6fb6cb, 0x0bafb6cb, 0x1bafb6cb, + 0x2bafb6cb, 0x3bafb6cb, 0x0befb6cb, 0x1befb6cb, 0x2befb6cb, 0x3befb6cb, + 0x0b2cbacb, 0x1b2cbacb, 0x2b2cbacb, 0x3b2cbacb, 0x0b6cbacb, 0x1b6cbacb, + 0x2b6cbacb, 0x3b6cbacb, 0x0bacbacb, 0x1bacbacb, 0x2bacbacb, 0x3bacbacb, + 0x0becbacb, 0x1becbacb, 0x2becbacb, 0x3becbacb, 0x0b2dbacb, 0x1b2dbacb, + 0x2b2dbacb, 0x3b2dbacb, 0x0b6dbacb, 0x1b6dbacb, 0x2b6dbacb, 0x3b6dbacb, + 0x0badbacb, 0x1badbacb, 0x2badbacb, 0x3badbacb, 0x0bedbacb, 0x1bedbacb, + 0x2bedbacb, 0x3bedbacb, 0x0b2ebacb, 0x1b2ebacb, 0x2b2ebacb, 0x3b2ebacb, + 0x0b6ebacb, 0x1b6ebacb, 0x2b6ebacb, 0x3b6ebacb, 0x0baebacb, 0x1baebacb, + 0x2baebacb, 0x3baebacb, 0x0beebacb, 0x1beebacb, 0x2beebacb, 0x3beebacb, + 0x0b2fbacb, 0x1b2fbacb, 0x2b2fbacb, 0x3b2fbacb, 0x0b6fbacb, 0x1b6fbacb, + 0x2b6fbacb, 0x3b6fbacb, 0x0bafbacb, 0x1bafbacb, 0x2bafbacb, 0x3bafbacb, + 0x0befbacb, 0x1befbacb, 0x2befbacb, 0x3befbacb, 0x0b2cbecb, 0x1b2cbecb, + 0x2b2cbecb, 0x3b2cbecb, 0x0b6cbecb, 0x1b6cbecb, 0x2b6cbecb, 0x3b6cbecb, + 0x0bacbecb, 0x1bacbecb, 0x2bacbecb, 0x3bacbecb, 0x0becbecb, 0x1becbecb, + 0x2becbecb, 0x3becbecb, 0x0b2dbecb, 0x1b2dbecb, 0x2b2dbecb, 0x3b2dbecb, + 0x0b6dbecb, 0x1b6dbecb, 0x2b6dbecb, 0x3b6dbecb, 0x0badbecb, 0x1badbecb, + 0x2badbecb, 0x3badbecb, 0x0bedbecb, 0x1bedbecb, 0x2bedbecb, 0x3bedbecb, + 0x0b2ebecb, 0x1b2ebecb, 0x2b2ebecb, 0x3b2ebecb, 0x0b6ebecb, 0x1b6ebecb, + 0x2b6ebecb, 0x3b6ebecb, 0x0baebecb, 0x1baebecb, 0x2baebecb, 0x3baebecb, + 0x0beebecb, 0x1beebecb, 0x2beebecb, 0x3beebecb, 0x0b2fbecb, 0x1b2fbecb, + 0x2b2fbecb, 0x3b2fbecb, 0x0b6fbecb, 0x1b6fbecb, 0x2b6fbecb, 0x3b6fbecb, + 0x0bafbecb, 0x1bafbecb, 0x2bafbecb, 0x3bafbecb, 0x0befbecb, 0x1befbecb, + 0x2befbecb, 0x3befbecb, 0x0b2cb2db, 0x1b2cb2db, 0x2b2cb2db, 0x3b2cb2db, + 0x0b6cb2db, 0x1b6cb2db, 0x2b6cb2db, 0x3b6cb2db, 0x0bacb2db, 0x1bacb2db, + 0x2bacb2db, 0x3bacb2db, 0x0becb2db, 0x1becb2db, 0x2becb2db, 0x3becb2db, + 0x0b2db2db, 0x1b2db2db, 0x2b2db2db, 0x3b2db2db, 0x0b6db2db, 0x1b6db2db, + 0x2b6db2db, 0x3b6db2db, 0x0badb2db, 0x1badb2db, 0x2badb2db, 0x3badb2db, + 0x0bedb2db, 0x1bedb2db, 0x2bedb2db, 0x3bedb2db, 0x0b2eb2db, 0x1b2eb2db, + 0x2b2eb2db, 0x3b2eb2db, 0x0b6eb2db, 0x1b6eb2db, 0x2b6eb2db, 0x3b6eb2db, + 0x0baeb2db, 0x1baeb2db, 0x2baeb2db, 0x3baeb2db, 0x0beeb2db, 0x1beeb2db, + 0x2beeb2db, 0x3beeb2db, 0x0b2fb2db, 0x1b2fb2db, 0x2b2fb2db, 0x3b2fb2db, + 0x0b6fb2db, 0x1b6fb2db, 0x2b6fb2db, 0x3b6fb2db, 0x0bafb2db, 0x1bafb2db, + 0x2bafb2db, 0x3bafb2db, 0x0befb2db, 0x1befb2db, 0x2befb2db, 0x3befb2db, + 0x0b2cb6db, 0x1b2cb6db, 0x2b2cb6db, 0x3b2cb6db, 0x0b6cb6db, 0x1b6cb6db, + 0x2b6cb6db, 0x3b6cb6db, 0x0bacb6db, 0x1bacb6db, 0x2bacb6db, 0x3bacb6db, + 0x0becb6db, 0x1becb6db, 0x2becb6db, 0x3becb6db, 0x0b2db6db, 0x1b2db6db, + 0x2b2db6db, 0x3b2db6db, 0x0b6db6db, 0x1b6db6db, 0x2b6db6db, 0x3b6db6db, + 0x0badb6db, 0x1badb6db, 0x2badb6db, 0x3badb6db, 0x0bedb6db, 0x1bedb6db, + 0x2bedb6db, 0x3bedb6db, 0x0b2eb6db, 0x1b2eb6db, 0x2b2eb6db, 0x3b2eb6db, + 0x0b6eb6db, 0x1b6eb6db, 0x2b6eb6db, 0x3b6eb6db, 0x0baeb6db, 0x1baeb6db, + 0x2baeb6db, 0x3baeb6db, +}; + +static const uint32_t kNonZeroRepsDepth[BROTLI_NUM_COMMAND_SYMBOLS] = { + 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, +}; + +static const uint16_t kStaticCommandCodeBits[BROTLI_NUM_COMMAND_SYMBOLS] = { + 0, 256, 128, 384, 64, 320, 192, 448, + 32, 288, 160, 416, 96, 352, 224, 480, + 16, 272, 144, 400, 80, 336, 208, 464, + 48, 304, 176, 432, 112, 368, 240, 496, + 8, 264, 136, 392, 72, 328, 200, 456, + 40, 296, 168, 424, 104, 360, 232, 488, + 24, 280, 152, 408, 88, 344, 216, 472, + 56, 312, 184, 440, 120, 376, 248, 504, + 4, 260, 132, 388, 68, 324, 196, 452, + 36, 292, 164, 420, 100, 356, 228, 484, + 20, 276, 148, 404, 84, 340, 212, 468, + 52, 308, 180, 436, 116, 372, 244, 500, + 12, 268, 140, 396, 76, 332, 204, 460, + 44, 300, 172, 428, 108, 364, 236, 492, + 28, 284, 156, 412, 92, 348, 220, 476, + 60, 316, 188, 444, 124, 380, 252, 508, + 2, 258, 130, 386, 66, 322, 194, 450, + 34, 290, 162, 418, 98, 354, 226, 482, + 18, 274, 146, 402, 82, 338, 210, 466, + 50, 306, 178, 434, 114, 370, 242, 498, + 10, 266, 138, 394, 74, 330, 202, 458, + 42, 298, 170, 426, 106, 362, 234, 490, + 26, 282, 154, 410, 90, 346, 218, 474, + 58, 314, 186, 442, 122, 378, 250, 506, + 6, 262, 134, 390, 70, 326, 198, 454, + 38, 294, 166, 422, 102, 358, 230, 486, + 22, 278, 150, 406, 86, 342, 214, 470, + 54, 310, 182, 438, 118, 374, 246, 502, + 14, 270, 142, 398, 78, 334, 206, 462, + 46, 302, 174, 430, 110, 366, 238, 494, + 30, 286, 158, 414, 94, 350, 222, 478, + 62, 318, 190, 446, 126, 382, 254, 510, + 1, 257, 129, 385, 65, 321, 193, 449, + 33, 289, 161, 417, 97, 353, 225, 481, + 17, 273, 145, 401, 81, 337, 209, 465, + 49, 305, 177, 433, 113, 369, 241, 497, + 9, 265, 137, 393, 73, 329, 201, 457, + 41, 297, 169, 425, 105, 361, 233, 489, + 25, 281, 153, 409, 89, 345, 217, 473, + 57, 313, 185, 441, 121, 377, 249, 505, + 5, 261, 133, 389, 69, 325, 197, 453, + 37, 293, 165, 421, 101, 357, 229, 485, + 21, 277, 149, 405, 85, 341, 213, 469, + 53, 309, 181, 437, 117, 373, 245, 501, + 13, 269, 141, 397, 77, 333, 205, 461, + 45, 301, 173, 429, 109, 365, 237, 493, + 29, 285, 157, 413, 93, 349, 221, 477, + 61, 317, 189, 445, 125, 381, 253, 509, + 3, 259, 131, 387, 67, 323, 195, 451, + 35, 291, 163, 419, 99, 355, 227, 483, + 19, 275, 147, 403, 83, 339, 211, 467, + 51, 307, 179, 435, 115, 371, 243, 499, + 11, 267, 139, 395, 75, 331, 203, 459, + 43, 299, 171, 427, 107, 363, 235, 491, + 27, 283, 155, 411, 91, 347, 219, 475, + 59, 315, 187, 443, 123, 379, 251, 507, + 7, 1031, 519, 1543, 263, 1287, 775, 1799, + 135, 1159, 647, 1671, 391, 1415, 903, 1927, + 71, 1095, 583, 1607, 327, 1351, 839, 1863, + 199, 1223, 711, 1735, 455, 1479, 967, 1991, + 39, 1063, 551, 1575, 295, 1319, 807, 1831, + 167, 1191, 679, 1703, 423, 1447, 935, 1959, + 103, 1127, 615, 1639, 359, 1383, 871, 1895, + 231, 1255, 743, 1767, 487, 1511, 999, 2023, + 23, 1047, 535, 1559, 279, 1303, 791, 1815, + 151, 1175, 663, 1687, 407, 1431, 919, 1943, + 87, 1111, 599, 1623, 343, 1367, 855, 1879, + 215, 1239, 727, 1751, 471, 1495, 983, 2007, + 55, 1079, 567, 1591, 311, 1335, 823, 1847, + 183, 1207, 695, 1719, 439, 1463, 951, 1975, + 119, 1143, 631, 1655, 375, 1399, 887, 1911, + 247, 1271, 759, 1783, 503, 1527, 1015, 2039, + 15, 1039, 527, 1551, 271, 1295, 783, 1807, + 143, 1167, 655, 1679, 399, 1423, 911, 1935, + 79, 1103, 591, 1615, 335, 1359, 847, 1871, + 207, 1231, 719, 1743, 463, 1487, 975, 1999, + 47, 1071, 559, 1583, 303, 1327, 815, 1839, + 175, 1199, 687, 1711, 431, 1455, 943, 1967, + 111, 1135, 623, 1647, 367, 1391, 879, 1903, + 239, 1263, 751, 1775, 495, 1519, 1007, 2031, + 31, 1055, 543, 1567, 287, 1311, 799, 1823, + 159, 1183, 671, 1695, 415, 1439, 927, 1951, + 95, 1119, 607, 1631, 351, 1375, 863, 1887, + 223, 1247, 735, 1759, 479, 1503, 991, 2015, + 63, 1087, 575, 1599, 319, 1343, 831, 1855, + 191, 1215, 703, 1727, 447, 1471, 959, 1983, + 127, 1151, 639, 1663, 383, 1407, 895, 1919, + 255, 1279, 767, 1791, 511, 1535, 1023, 2047, +}; + +static BROTLI_INLINE void StoreStaticCommandHuffmanTree( + size_t* storage_ix, uint8_t* storage) { + BrotliWriteBits( + 56, MAKE_UINT64_T(0x926244U, 0x16307003U), storage_ix, storage); + BrotliWriteBits(3, 0x00000000U, storage_ix, storage); +} + +static const uint16_t kStaticDistanceCodeBits[64] = { + 0, 32, 16, 48, 8, 40, 24, 56, 4, 36, 20, 52, 12, 44, 28, 60, + 2, 34, 18, 50, 10, 42, 26, 58, 6, 38, 22, 54, 14, 46, 30, 62, + 1, 33, 17, 49, 9, 41, 25, 57, 5, 37, 21, 53, 13, 45, 29, 61, + 3, 35, 19, 51, 11, 43, 27, 59, 7, 39, 23, 55, 15, 47, 31, 63, +}; + +static BROTLI_INLINE void StoreStaticDistanceHuffmanTree( + size_t* storage_ix, uint8_t* storage) { + BrotliWriteBits(28, 0x0369dc03U, storage_ix, storage); +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/fast_log.h b/BaseTools/Source/C/BrotliCompress/enc/fast_log.h new file mode 100644 index 000000000000..b59ff7dbd549 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/fast_log.h @@ -0,0 +1,145 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Utilities for fast computation of logarithms. */ + +#ifndef BROTLI_ENC_FAST_LOG_H_ +#define BROTLI_ENC_FAST_LOG_H_ + +#include + +#include "../common/types.h" +#include "../common/port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static BROTLI_INLINE uint32_t Log2FloorNonZero(size_t n) { +#ifdef __GNUC__ + return 31u ^ (uint32_t)__builtin_clz((uint32_t)n); +#else + uint32_t result = 0; + while (n >>= 1) result++; + return result; +#endif +} + +/* A lookup table for small values of log2(int) to be used in entropy + computation. + + ", ".join(["%.16ff" % x for x in [0.0]+[log2(x) for x in range(1, 256)]]) */ +static const float kLog2Table[] = { + 0.0000000000000000f, 0.0000000000000000f, 1.0000000000000000f, + 1.5849625007211563f, 2.0000000000000000f, 2.3219280948873622f, + 2.5849625007211561f, 2.8073549220576042f, 3.0000000000000000f, + 3.1699250014423126f, 3.3219280948873626f, 3.4594316186372978f, + 3.5849625007211565f, 3.7004397181410922f, 3.8073549220576037f, + 3.9068905956085187f, 4.0000000000000000f, 4.0874628412503400f, + 4.1699250014423122f, 4.2479275134435852f, 4.3219280948873626f, + 4.3923174227787607f, 4.4594316186372973f, 4.5235619560570131f, + 4.5849625007211570f, 4.6438561897747244f, 4.7004397181410926f, + 4.7548875021634691f, 4.8073549220576037f, 4.8579809951275728f, + 4.9068905956085187f, 4.9541963103868758f, 5.0000000000000000f, + 5.0443941193584534f, 5.0874628412503400f, 5.1292830169449664f, + 5.1699250014423122f, 5.2094533656289501f, 5.2479275134435852f, + 5.2854022188622487f, 5.3219280948873626f, 5.3575520046180838f, + 5.3923174227787607f, 5.4262647547020979f, 5.4594316186372973f, + 5.4918530963296748f, 5.5235619560570131f, 5.5545888516776376f, + 5.5849625007211570f, 5.6147098441152083f, 5.6438561897747244f, + 5.6724253419714961f, 5.7004397181410926f, 5.7279204545631996f, + 5.7548875021634691f, 5.7813597135246599f, 5.8073549220576046f, + 5.8328900141647422f, 5.8579809951275719f, 5.8826430493618416f, + 5.9068905956085187f, 5.9307373375628867f, 5.9541963103868758f, + 5.9772799234999168f, 6.0000000000000000f, 6.0223678130284544f, + 6.0443941193584534f, 6.0660891904577721f, 6.0874628412503400f, + 6.1085244567781700f, 6.1292830169449672f, 6.1497471195046822f, + 6.1699250014423122f, 6.1898245588800176f, 6.2094533656289510f, + 6.2288186904958804f, 6.2479275134435861f, 6.2667865406949019f, + 6.2854022188622487f, 6.3037807481771031f, 6.3219280948873617f, + 6.3398500028846252f, 6.3575520046180847f, 6.3750394313469254f, + 6.3923174227787598f, 6.4093909361377026f, 6.4262647547020979f, + 6.4429434958487288f, 6.4594316186372982f, 6.4757334309663976f, + 6.4918530963296748f, 6.5077946401986964f, 6.5235619560570131f, + 6.5391588111080319f, 6.5545888516776376f, 6.5698556083309478f, + 6.5849625007211561f, 6.5999128421871278f, 6.6147098441152092f, + 6.6293566200796095f, 6.6438561897747253f, 6.6582114827517955f, + 6.6724253419714952f, 6.6865005271832185f, 6.7004397181410917f, + 6.7142455176661224f, 6.7279204545631988f, 6.7414669864011465f, + 6.7548875021634691f, 6.7681843247769260f, 6.7813597135246599f, + 6.7944158663501062f, 6.8073549220576037f, 6.8201789624151887f, + 6.8328900141647422f, 6.8454900509443757f, 6.8579809951275719f, + 6.8703647195834048f, 6.8826430493618416f, 6.8948177633079437f, + 6.9068905956085187f, 6.9188632372745955f, 6.9307373375628867f, + 6.9425145053392399f, 6.9541963103868758f, 6.9657842846620879f, + 6.9772799234999168f, 6.9886846867721664f, 7.0000000000000000f, + 7.0112272554232540f, 7.0223678130284544f, 7.0334230015374501f, + 7.0443941193584534f, 7.0552824355011898f, 7.0660891904577721f, + 7.0768155970508317f, 7.0874628412503400f, 7.0980320829605272f, + 7.1085244567781700f, 7.1189410727235076f, 7.1292830169449664f, + 7.1395513523987937f, 7.1497471195046822f, 7.1598713367783891f, + 7.1699250014423130f, 7.1799090900149345f, 7.1898245588800176f, + 7.1996723448363644f, 7.2094533656289492f, 7.2191685204621621f, + 7.2288186904958804f, 7.2384047393250794f, 7.2479275134435861f, + 7.2573878426926521f, 7.2667865406949019f, 7.2761244052742384f, + 7.2854022188622487f, 7.2946207488916270f, 7.3037807481771031f, + 7.3128829552843557f, 7.3219280948873617f, 7.3309168781146177f, + 7.3398500028846243f, 7.3487281542310781f, 7.3575520046180847f, + 7.3663222142458151f, 7.3750394313469254f, 7.3837042924740528f, + 7.3923174227787607f, 7.4008794362821844f, 7.4093909361377026f, + 7.4178525148858991f, 7.4262647547020979f, 7.4346282276367255f, + 7.4429434958487288f, 7.4512111118323299f, 7.4594316186372973f, + 7.4676055500829976f, 7.4757334309663976f, 7.4838157772642564f, + 7.4918530963296748f, 7.4998458870832057f, 7.5077946401986964f, + 7.5156998382840436f, 7.5235619560570131f, 7.5313814605163119f, + 7.5391588111080319f, 7.5468944598876373f, 7.5545888516776376f, + 7.5622424242210728f, 7.5698556083309478f, 7.5774288280357487f, + 7.5849625007211561f, 7.5924570372680806f, 7.5999128421871278f, + 7.6073303137496113f, 7.6147098441152075f, 7.6220518194563764f, + 7.6293566200796095f, 7.6366246205436488f, 7.6438561897747244f, + 7.6510516911789290f, 7.6582114827517955f, 7.6653359171851765f, + 7.6724253419714952f, 7.6794800995054464f, 7.6865005271832185f, + 7.6934869574993252f, 7.7004397181410926f, 7.7073591320808825f, + 7.7142455176661224f, 7.7210991887071856f, 7.7279204545631996f, + 7.7347096202258392f, 7.7414669864011465f, 7.7481928495894596f, + 7.7548875021634691f, 7.7615512324444795f, 7.7681843247769260f, + 7.7747870596011737f, 7.7813597135246608f, 7.7879025593914317f, + 7.7944158663501062f, 7.8008998999203047f, 7.8073549220576037f, + 7.8137811912170374f, 7.8201789624151887f, 7.8265484872909159f, + 7.8328900141647422f, 7.8392037880969445f, 7.8454900509443757f, + 7.8517490414160571f, 7.8579809951275719f, 7.8641861446542798f, + 7.8703647195834048f, 7.8765169465650002f, 7.8826430493618425f, + 7.8887432488982601f, 7.8948177633079446f, 7.9008668079807496f, + 7.9068905956085187f, 7.9128893362299619f, 7.9188632372745955f, + 7.9248125036057813f, 7.9307373375628867f, 7.9366379390025719f, + 7.9425145053392399f, 7.9483672315846778f, 7.9541963103868758f, + 7.9600019320680806f, 7.9657842846620870f, 7.9715435539507720f, + 7.9772799234999168f, 7.9829935746943104f, 7.9886846867721664f, + 7.9943534368588578f +}; + +#define LOG_2_INV 1.4426950408889634 + +/* Faster logarithm for small integers, with the property of log2(0) == 0. */ +static BROTLI_INLINE double FastLog2(size_t v) { + if (v < sizeof(kLog2Table) / sizeof(kLog2Table[0])) { + return kLog2Table[v]; + } +#if (defined(_MSC_VER) && _MSC_VER <= 1700) || \ + (defined(__ANDROID_API__) && __ANDROID_API__ < 18) + /* Visual Studio 2012 and Android API levels < 18 do not have the log2() + * function defined, so we use log() and a multiplication instead. */ + return log((double)v) * LOG_2_INV; +#else + return log2((double)v); +#endif +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_FAST_LOG_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/find_match_length.h b/BaseTools/Source/C/BrotliCompress/enc/find_match_length.h new file mode 100644 index 000000000000..0e5bdd256a68 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/find_match_length.h @@ -0,0 +1,80 @@ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Function to find maximal matching prefixes of strings. */ + +#ifndef BROTLI_ENC_FIND_MATCH_LENGTH_H_ +#define BROTLI_ENC_FIND_MATCH_LENGTH_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* Separate implementation for little-endian 64-bit targets, for speed. */ +#if defined(__GNUC__) && defined(_LP64) && defined(IS_LITTLE_ENDIAN) + +static BROTLI_INLINE size_t FindMatchLengthWithLimit(const uint8_t* s1, + const uint8_t* s2, + size_t limit) { + size_t matched = 0; + size_t limit2 = (limit >> 3) + 1; /* + 1 is for pre-decrement in while */ + while (PREDICT_TRUE(--limit2)) { + if (PREDICT_FALSE(BROTLI_UNALIGNED_LOAD64(s2) == + BROTLI_UNALIGNED_LOAD64(s1 + matched))) { + s2 += 8; + matched += 8; + } else { + uint64_t x = + BROTLI_UNALIGNED_LOAD64(s2) ^ BROTLI_UNALIGNED_LOAD64(s1 + matched); + size_t matching_bits = (size_t)__builtin_ctzll(x); + matched += matching_bits >> 3; + return matched; + } + } + limit = (limit & 7) + 1; /* + 1 is for pre-decrement in while */ + while (--limit) { + if (PREDICT_TRUE(s1[matched] == *s2)) { + ++s2; + ++matched; + } else { + return matched; + } + } + return matched; +} +#else +static BROTLI_INLINE size_t FindMatchLengthWithLimit(const uint8_t* s1, + const uint8_t* s2, + size_t limit) { + size_t matched = 0; + const uint8_t* s2_limit = s2 + limit; + const uint8_t* s2_ptr = s2; + /* Find out how long the match is. We loop over the data 32 bits at a + time until we find a 32-bit block that doesn't match; then we find + the first non-matching bit and use that to calculate the total + length of the match. */ + while (s2_ptr <= s2_limit - 4 && + BROTLI_UNALIGNED_LOAD32(s2_ptr) == + BROTLI_UNALIGNED_LOAD32(s1 + matched)) { + s2_ptr += 4; + matched += 4; + } + while ((s2_ptr < s2_limit) && (s1[matched] == *s2_ptr)) { + ++s2_ptr; + ++matched; + } + return matched; +} +#endif + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_FIND_MATCH_LENGTH_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash.h b/BaseTools/Source/C/BrotliCompress/enc/hash.h new file mode 100644 index 000000000000..6756e68c3774 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/hash.h @@ -0,0 +1,717 @@ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* A (forgetful) hash table to the data seen by the compressor, to + help create backward references to previous data. */ + +#ifndef BROTLI_ENC_HASH_H_ +#define BROTLI_ENC_HASH_H_ + +#include /* memcmp, memset */ + +#include "../common/constants.h" +#include "../common/dictionary.h" +#include "../common/types.h" +#include "./dictionary_hash.h" +#include "./fast_log.h" +#include "./find_match_length.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" +#include "./static_dict.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define MAX_TREE_SEARCH_DEPTH 64 +#define MAX_TREE_COMP_LENGTH 128 +#define score_t size_t + +static const uint32_t kDistanceCacheIndex[] = { + 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, +}; +static const int kDistanceCacheOffset[] = { + 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3 +}; + +static const uint32_t kCutoffTransformsCount = 10; +static const uint8_t kCutoffTransforms[] = { + 0, 12, 27, 23, 42, 63, 56, 48, 59, 64 +}; + +typedef struct HasherSearchResult { + size_t len; + size_t len_x_code; /* == len ^ len_code */ + size_t distance; + score_t score; +} HasherSearchResult; + +typedef struct DictionarySearchStatictics { + size_t num_lookups; + size_t num_matches; +} DictionarySearchStatictics; + +/* kHashMul32 multiplier has these properties: + * The multiplier must be odd. Otherwise we may lose the highest bit. + * No long streaks of 1s or 0s. + * There is no effort to ensure that it is a prime, the oddity is enough + for this use. + * The number has been tuned heuristically against compression benchmarks. */ +static const uint32_t kHashMul32 = 0x1e35a7bd; + +static BROTLI_INLINE uint32_t Hash14(const uint8_t* data) { + uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32; + /* The higher bits contain more mixture from the multiplication, + so we take our results from there. */ + return h >> (32 - 14); +} + +#define BROTLI_LITERAL_BYTE_SCORE 540 +#define BROTLI_DISTANCE_BIT_PENALTY 120 +/* Score must be positive after applying maximal penalty. */ +#define BROTLI_SCORE_BASE (BROTLI_DISTANCE_BIT_PENALTY * 8 * sizeof(size_t)) + +/* Usually, we always choose the longest backward reference. This function + allows for the exception of that rule. + + If we choose a backward reference that is further away, it will + usually be coded with more bits. We approximate this by assuming + log2(distance). If the distance can be expressed in terms of the + last four distances, we use some heuristic constants to estimate + the bits cost. For the first up to four literals we use the bit + cost of the literals from the literal cost model, after that we + use the average bit cost of the cost model. + + This function is used to sometimes discard a longer backward reference + when it is not much longer and the bit cost for encoding it is more + than the saved literals. + + backward_reference_offset MUST be positive. */ +static BROTLI_INLINE score_t BackwardReferenceScore( + size_t copy_length, size_t backward_reference_offset) { + return BROTLI_SCORE_BASE + BROTLI_LITERAL_BYTE_SCORE * (score_t)copy_length - + BROTLI_DISTANCE_BIT_PENALTY * Log2FloorNonZero(backward_reference_offset); +} + +static const score_t kDistanceShortCodeCost[BROTLI_NUM_DISTANCE_SHORT_CODES] = { + /* Repeat last */ + BROTLI_SCORE_BASE + 60, + /* 2nd, 3rd, 4th last */ + BROTLI_SCORE_BASE - 95, + BROTLI_SCORE_BASE - 117, + BROTLI_SCORE_BASE - 127, + /* Last with offset */ + BROTLI_SCORE_BASE - 93, + BROTLI_SCORE_BASE - 93, + BROTLI_SCORE_BASE - 96, + BROTLI_SCORE_BASE - 96, + BROTLI_SCORE_BASE - 99, + BROTLI_SCORE_BASE - 99, + /* 2nd last with offset */ + BROTLI_SCORE_BASE - 105, + BROTLI_SCORE_BASE - 105, + BROTLI_SCORE_BASE - 115, + BROTLI_SCORE_BASE - 115, + BROTLI_SCORE_BASE - 125, + BROTLI_SCORE_BASE - 125 +}; + +static BROTLI_INLINE score_t BackwardReferenceScoreUsingLastDistance( + size_t copy_length, size_t distance_short_code) { + return BROTLI_LITERAL_BYTE_SCORE * (score_t)copy_length + + kDistanceShortCodeCost[distance_short_code]; +} + +static BROTLI_INLINE void DictionarySearchStaticticsReset( + DictionarySearchStatictics* self) { + self->num_lookups = 0; + self->num_matches = 0; +} + +static BROTLI_INLINE BROTLI_BOOL TestStaticDictionaryItem( + size_t item, const uint8_t* data, size_t max_length, size_t max_backward, + HasherSearchResult* out) { + size_t len; + size_t dist; + size_t offset; + size_t matchlen; + size_t backward; + score_t score; + len = item & 31; + dist = item >> 5; + offset = kBrotliDictionaryOffsetsByLength[len] + len * dist; + if (len > max_length) { + return BROTLI_FALSE; + } + + matchlen = FindMatchLengthWithLimit(data, &kBrotliDictionary[offset], len); + if (matchlen + kCutoffTransformsCount <= len || matchlen == 0) { + return BROTLI_FALSE; + } + { + size_t transform_id = kCutoffTransforms[len - matchlen]; + backward = max_backward + dist + 1 + + (transform_id << kBrotliDictionarySizeBitsByLength[len]); + } + score = BackwardReferenceScore(matchlen, backward); + if (score < out->score) { + return BROTLI_FALSE; + } + out->len = matchlen; + out->len_x_code = len ^ matchlen; + out->distance = backward; + out->score = score; + return BROTLI_TRUE; +} + +static BROTLI_INLINE BROTLI_BOOL SearchInStaticDictionary( + DictionarySearchStatictics* self, const uint8_t* data, size_t max_length, + size_t max_backward, HasherSearchResult* out, BROTLI_BOOL shallow) { + size_t key; + size_t i; + BROTLI_BOOL is_match_found = BROTLI_FALSE; + if (self->num_matches < (self->num_lookups >> 7)) { + return BROTLI_FALSE; + } + key = Hash14(data) << 1; + for (i = 0; i < (shallow ? 1 : 2); ++i, ++key) { + size_t item = kStaticDictionaryHash[key]; + self->num_lookups++; + if (item != 0 && + TestStaticDictionaryItem(item, data, max_length, max_backward, out)) { + self->num_matches++; + is_match_found = BROTLI_TRUE; + } + } + return is_match_found; +} + +typedef struct BackwardMatch { + uint32_t distance; + uint32_t length_and_code; +} BackwardMatch; + +static BROTLI_INLINE void InitBackwardMatch(BackwardMatch* self, + size_t dist, size_t len) { + self->distance = (uint32_t)dist; + self->length_and_code = (uint32_t)(len << 5); +} + +static BROTLI_INLINE void InitDictionaryBackwardMatch(BackwardMatch* self, + size_t dist, size_t len, size_t len_code) { + self->distance = (uint32_t)dist; + self->length_and_code = + (uint32_t)((len << 5) | (len == len_code ? 0 : len_code)); +} + +static BROTLI_INLINE size_t BackwardMatchLength(const BackwardMatch* self) { + return self->length_and_code >> 5; +} + +static BROTLI_INLINE size_t BackwardMatchLengthCode(const BackwardMatch* self) { + size_t code = self->length_and_code & 31; + return code ? code : BackwardMatchLength(self); +} + +#define EXPAND_CAT(a, b) CAT(a, b) +#define CAT(a, b) a ## b +#define FN(X) EXPAND_CAT(X, HASHER()) + +#define MAX_NUM_MATCHES_H10 (64 + MAX_TREE_SEARCH_DEPTH) + +#define HASHER() H10 +#define HashToBinaryTree HASHER() + +#define BUCKET_BITS 17 +#define BUCKET_SIZE (1 << BUCKET_BITS) + +static size_t FN(HashTypeLength)(void) { return 4; } +static size_t FN(StoreLookahead)(void) { return MAX_TREE_COMP_LENGTH; } + +static uint32_t FN(HashBytes)(const uint8_t *data) { + uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32; + /* The higher bits contain more mixture from the multiplication, + so we take our results from there. */ + return h >> (32 - BUCKET_BITS); +} + +/* A (forgetful) hash table where each hash bucket contains a binary tree of + sequences whose first 4 bytes share the same hash code. + Each sequence is MAX_TREE_COMP_LENGTH long and is identified by its starting + position in the input data. The binary tree is sorted by the lexicographic + order of the sequences, and it is also a max-heap with respect to the + starting positions. */ +typedef struct HashToBinaryTree { + /* The window size minus 1 */ + size_t window_mask_; + + /* Hash table that maps the 4-byte hashes of the sequence to the last + position where this hash was found, which is the root of the binary + tree of sequences that share this hash bucket. */ + uint32_t buckets_[BUCKET_SIZE]; + + /* The union of the binary trees of each hash bucket. The root of the tree + corresponding to a hash is a sequence starting at buckets_[hash] and + the left and right children of a sequence starting at pos are + forest_[2 * pos] and forest_[2 * pos + 1]. */ + uint32_t* forest_; + + /* A position used to mark a non-existent sequence, i.e. a tree is empty if + its root is at invalid_pos_ and a node is a leaf if both its children + are at invalid_pos_. */ + uint32_t invalid_pos_; + + size_t forest_size_; + BROTLI_BOOL is_dirty_; +} HashToBinaryTree; + +static void FN(Reset)(HashToBinaryTree* self) { + self->is_dirty_ = BROTLI_TRUE; +} + +static void FN(Initialize)(HashToBinaryTree* self) { + self->forest_ = NULL; + self->forest_size_ = 0; + FN(Reset)(self); +} + +static void FN(Cleanup)(MemoryManager* m, HashToBinaryTree* self) { + BROTLI_FREE(m, self->forest_); +} + +static void FN(Init)( + MemoryManager* m, HashToBinaryTree* self, const uint8_t* data, + const BrotliEncoderParams* params, size_t position, size_t bytes, + BROTLI_BOOL is_last) { + if (self->is_dirty_) { + uint32_t invalid_pos; + size_t num_nodes; + uint32_t i; + BROTLI_UNUSED(data); + self->window_mask_ = (1u << params->lgwin) - 1u; + invalid_pos = (uint32_t)(0 - self->window_mask_); + self->invalid_pos_ = invalid_pos; + for (i = 0; i < BUCKET_SIZE; i++) { + self->buckets_[i] = invalid_pos; + } + num_nodes = (position == 0 && is_last) ? bytes : self->window_mask_ + 1; + if (num_nodes > self->forest_size_) { + BROTLI_FREE(m, self->forest_); + self->forest_ = BROTLI_ALLOC(m, uint32_t, 2 * num_nodes); + if (BROTLI_IS_OOM(m)) return; + self->forest_size_ = num_nodes; + } + self->is_dirty_ = BROTLI_FALSE; + } +} + +static BROTLI_INLINE size_t FN(LeftChildIndex)(HashToBinaryTree* self, + const size_t pos) { + return 2 * (pos & self->window_mask_); +} + +static BROTLI_INLINE size_t FN(RightChildIndex)(HashToBinaryTree* self, + const size_t pos) { + return 2 * (pos & self->window_mask_) + 1; +} + +/* Stores the hash of the next 4 bytes and in a single tree-traversal, the + hash bucket's binary tree is searched for matches and is re-rooted at the + current position. + + If less than MAX_TREE_COMP_LENGTH data is available, the hash bucket of the + current position is searched for matches, but the state of the hash table + is not changed, since we can not know the final sorting order of the + current (incomplete) sequence. + + This function must be called with increasing cur_ix positions. */ +static BROTLI_INLINE BackwardMatch* FN(StoreAndFindMatches)( + HashToBinaryTree* self, const uint8_t* const BROTLI_RESTRICT data, + const size_t cur_ix, const size_t ring_buffer_mask, const size_t max_length, + const size_t max_backward, size_t* const BROTLI_RESTRICT best_len, + BackwardMatch* BROTLI_RESTRICT matches) { + const size_t cur_ix_masked = cur_ix & ring_buffer_mask; + const size_t max_comp_len = + BROTLI_MIN(size_t, max_length, MAX_TREE_COMP_LENGTH); + const BROTLI_BOOL should_reroot_tree = + TO_BROTLI_BOOL(max_length >= MAX_TREE_COMP_LENGTH); + const uint32_t key = FN(HashBytes)(&data[cur_ix_masked]); + size_t prev_ix = self->buckets_[key]; + /* The forest index of the rightmost node of the left subtree of the new + root, updated as we traverse and reroot the tree of the hash bucket. */ + size_t node_left = FN(LeftChildIndex)(self, cur_ix); + /* The forest index of the leftmost node of the right subtree of the new + root, updated as we traverse and reroot the tree of the hash bucket. */ + size_t node_right = FN(RightChildIndex)(self, cur_ix); + /* The match length of the rightmost node of the left subtree of the new + root, updated as we traverse and reroot the tree of the hash bucket. */ + size_t best_len_left = 0; + /* The match length of the leftmost node of the right subtree of the new + root, updated as we traverse and reroot the tree of the hash bucket. */ + size_t best_len_right = 0; + size_t depth_remaining; + if (should_reroot_tree) { + self->buckets_[key] = (uint32_t)cur_ix; + } + for (depth_remaining = MAX_TREE_SEARCH_DEPTH; ; --depth_remaining) { + const size_t backward = cur_ix - prev_ix; + const size_t prev_ix_masked = prev_ix & ring_buffer_mask; + if (backward == 0 || backward > max_backward || depth_remaining == 0) { + if (should_reroot_tree) { + self->forest_[node_left] = self->invalid_pos_; + self->forest_[node_right] = self->invalid_pos_; + } + break; + } + { + const size_t cur_len = BROTLI_MIN(size_t, best_len_left, best_len_right); + size_t len; + assert(cur_len <= MAX_TREE_COMP_LENGTH); + len = cur_len + + FindMatchLengthWithLimit(&data[cur_ix_masked + cur_len], + &data[prev_ix_masked + cur_len], + max_length - cur_len); + assert(0 == memcmp(&data[cur_ix_masked], &data[prev_ix_masked], len)); + if (matches && len > *best_len) { + *best_len = len; + InitBackwardMatch(matches++, backward, len); + } + if (len >= max_comp_len) { + if (should_reroot_tree) { + self->forest_[node_left] = + self->forest_[FN(LeftChildIndex)(self, prev_ix)]; + self->forest_[node_right] = + self->forest_[FN(RightChildIndex)(self, prev_ix)]; + } + break; + } + if (data[cur_ix_masked + len] > data[prev_ix_masked + len]) { + best_len_left = len; + if (should_reroot_tree) { + self->forest_[node_left] = (uint32_t)prev_ix; + } + node_left = FN(RightChildIndex)(self, prev_ix); + prev_ix = self->forest_[node_left]; + } else { + best_len_right = len; + if (should_reroot_tree) { + self->forest_[node_right] = (uint32_t)prev_ix; + } + node_right = FN(LeftChildIndex)(self, prev_ix); + prev_ix = self->forest_[node_right]; + } + } + } + return matches; +} + +/* Finds all backward matches of &data[cur_ix & ring_buffer_mask] up to the + length of max_length and stores the position cur_ix in the hash table. + + Sets *num_matches to the number of matches found, and stores the found + matches in matches[0] to matches[*num_matches - 1]. The matches will be + sorted by strictly increasing length and (non-strictly) increasing + distance. */ +static BROTLI_INLINE size_t FN(FindAllMatches)(HashToBinaryTree* self, + const uint8_t* data, const size_t ring_buffer_mask, const size_t cur_ix, + const size_t max_length, const size_t max_backward, + const BrotliEncoderParams* params, BackwardMatch* matches) { + BackwardMatch* const orig_matches = matches; + const size_t cur_ix_masked = cur_ix & ring_buffer_mask; + size_t best_len = 1; + const size_t short_match_max_backward = + params->quality != HQ_ZOPFLIFICATION_QUALITY ? 16 : 64; + size_t stop = cur_ix - short_match_max_backward; + uint32_t dict_matches[BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN + 1]; + size_t i; + if (cur_ix < short_match_max_backward) { stop = 0; } + for (i = cur_ix - 1; i > stop && best_len <= 2; --i) { + size_t prev_ix = i; + const size_t backward = cur_ix - prev_ix; + if (PREDICT_FALSE(backward > max_backward)) { + break; + } + prev_ix &= ring_buffer_mask; + if (data[cur_ix_masked] != data[prev_ix] || + data[cur_ix_masked + 1] != data[prev_ix + 1]) { + continue; + } + { + const size_t len = + FindMatchLengthWithLimit(&data[prev_ix], &data[cur_ix_masked], + max_length); + if (len > best_len) { + best_len = len; + InitBackwardMatch(matches++, backward, len); + } + } + } + if (best_len < max_length) { + matches = FN(StoreAndFindMatches)(self, data, cur_ix, ring_buffer_mask, + max_length, max_backward, &best_len, matches); + } + for (i = 0; i <= BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN; ++i) { + dict_matches[i] = kInvalidMatch; + } + { + size_t minlen = BROTLI_MAX(size_t, 4, best_len + 1); + if (BrotliFindAllStaticDictionaryMatches(&data[cur_ix_masked], minlen, + max_length, &dict_matches[0])) { + size_t maxlen = BROTLI_MIN( + size_t, BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN, max_length); + size_t l; + for (l = minlen; l <= maxlen; ++l) { + uint32_t dict_id = dict_matches[l]; + if (dict_id < kInvalidMatch) { + InitDictionaryBackwardMatch(matches++, + max_backward + (dict_id >> 5) + 1, l, dict_id & 31); + } + } + } + } + return (size_t)(matches - orig_matches); +} + +/* Stores the hash of the next 4 bytes and re-roots the binary tree at the + current sequence, without returning any matches. + REQUIRES: ix + MAX_TREE_COMP_LENGTH <= end-of-current-block */ +static BROTLI_INLINE void FN(Store)(HashToBinaryTree* self, const uint8_t *data, + const size_t mask, const size_t ix) { + /* Maximum distance is window size - 16, see section 9.1. of the spec. */ + const size_t max_backward = self->window_mask_ - 15; + FN(StoreAndFindMatches)(self, data, ix, mask, MAX_TREE_COMP_LENGTH, + max_backward, NULL, NULL); +} + +static BROTLI_INLINE void FN(StoreRange)(HashToBinaryTree* self, + const uint8_t *data, const size_t mask, const size_t ix_start, + const size_t ix_end) { + size_t i = ix_start + 63 <= ix_end ? ix_end - 63 : ix_start; + for (; i < ix_end; ++i) { + FN(Store)(self, data, mask, i); + } +} + +static BROTLI_INLINE void FN(StitchToPreviousBlock)(HashToBinaryTree* self, + size_t num_bytes, size_t position, const uint8_t* ringbuffer, + size_t ringbuffer_mask) { + if (num_bytes >= FN(HashTypeLength)() - 1 && + position >= MAX_TREE_COMP_LENGTH) { + /* Store the last `MAX_TREE_COMP_LENGTH - 1` positions in the hasher. + These could not be calculated before, since they require knowledge + of both the previous and the current block. */ + const size_t i_start = position - MAX_TREE_COMP_LENGTH + 1; + const size_t i_end = BROTLI_MIN(size_t, position, i_start + num_bytes); + size_t i; + for (i = i_start; i < i_end; ++i) { + /* Maximum distance is window size - 16, see section 9.1. of the spec. + Furthermore, we have to make sure that we don't look further back + from the start of the next block than the window size, otherwise we + could access already overwritten areas of the ringbuffer. */ + const size_t max_backward = + self->window_mask_ - BROTLI_MAX(size_t, 15, position - i); + /* We know that i + MAX_TREE_COMP_LENGTH <= position + num_bytes, i.e. the + end of the current block and that we have at least + MAX_TREE_COMP_LENGTH tail in the ringbuffer. */ + FN(StoreAndFindMatches)(self, ringbuffer, i, ringbuffer_mask, + MAX_TREE_COMP_LENGTH, max_backward, NULL, NULL); + } + } +} + +#undef BUCKET_SIZE +#undef BUCKET_BITS + +#undef HASHER + +/* For BUCKET_SWEEP == 1, enabling the dictionary lookup makes compression + a little faster (0.5% - 1%) and it compresses 0.15% better on small text + and html inputs. */ + +#define HASHER() H2 +#define BUCKET_BITS 16 +#define BUCKET_SWEEP 1 +#define USE_DICTIONARY 1 +#include "./hash_longest_match_quickly_inc.h" /* NOLINT(build/include) */ +#undef BUCKET_SWEEP +#undef USE_DICTIONARY +#undef HASHER + +#define HASHER() H3 +#define BUCKET_SWEEP 2 +#define USE_DICTIONARY 0 +#include "./hash_longest_match_quickly_inc.h" /* NOLINT(build/include) */ +#undef USE_DICTIONARY +#undef BUCKET_SWEEP +#undef BUCKET_BITS +#undef HASHER + +#define HASHER() H4 +#define BUCKET_BITS 17 +#define BUCKET_SWEEP 4 +#define USE_DICTIONARY 1 +#include "./hash_longest_match_quickly_inc.h" /* NOLINT(build/include) */ +#undef USE_DICTIONARY +#undef BUCKET_SWEEP +#undef BUCKET_BITS +#undef HASHER + +#define HASHER() H5 +#define BUCKET_BITS 14 +#define BLOCK_BITS 4 +#define NUM_LAST_DISTANCES_TO_CHECK 4 +#include "./hash_longest_match_inc.h" /* NOLINT(build/include) */ +#undef BLOCK_BITS +#undef HASHER + +#define HASHER() H6 +#define BLOCK_BITS 5 +#include "./hash_longest_match_inc.h" /* NOLINT(build/include) */ +#undef NUM_LAST_DISTANCES_TO_CHECK +#undef BLOCK_BITS +#undef BUCKET_BITS +#undef HASHER + +#define HASHER() H7 +#define BUCKET_BITS 15 +#define BLOCK_BITS 6 +#define NUM_LAST_DISTANCES_TO_CHECK 10 +#include "./hash_longest_match_inc.h" /* NOLINT(build/include) */ +#undef BLOCK_BITS +#undef HASHER + +#define HASHER() H8 +#define BLOCK_BITS 7 +#include "./hash_longest_match_inc.h" /* NOLINT(build/include) */ +#undef NUM_LAST_DISTANCES_TO_CHECK +#undef BLOCK_BITS +#undef HASHER + +#define HASHER() H9 +#define BLOCK_BITS 8 +#define NUM_LAST_DISTANCES_TO_CHECK 16 +#include "./hash_longest_match_inc.h" /* NOLINT(build/include) */ +#undef NUM_LAST_DISTANCES_TO_CHECK +#undef BLOCK_BITS +#undef BUCKET_BITS +#undef HASHER + +#define BUCKET_BITS 15 + +#define NUM_LAST_DISTANCES_TO_CHECK 4 +#define NUM_BANKS 1 +#define BANK_BITS 16 +#define HASHER() H40 +#include "./hash_forgetful_chain_inc.h" /* NOLINT(build/include) */ +#undef HASHER +#undef NUM_LAST_DISTANCES_TO_CHECK + +#define NUM_LAST_DISTANCES_TO_CHECK 10 +#define HASHER() H41 +#include "./hash_forgetful_chain_inc.h" /* NOLINT(build/include) */ +#undef HASHER +#undef NUM_LAST_DISTANCES_TO_CHECK +#undef NUM_BANKS +#undef BANK_BITS + +#define NUM_LAST_DISTANCES_TO_CHECK 16 +#define NUM_BANKS 512 +#define BANK_BITS 9 +#define HASHER() H42 +#include "./hash_forgetful_chain_inc.h" /* NOLINT(build/include) */ +#undef HASHER +#undef NUM_LAST_DISTANCES_TO_CHECK +#undef NUM_BANKS +#undef BANK_BITS + +#undef BUCKET_BITS + +#undef FN +#undef CAT +#undef EXPAND_CAT + +#define FOR_GENERIC_HASHERS(H) H(2) H(3) H(4) H(5) H(6) H(7) H(8) H(9) \ + H(40) H(41) H(42) +#define FOR_ALL_HASHERS(H) FOR_GENERIC_HASHERS(H) H(10) + +typedef struct Hashers { +#define _MEMBER(N) H ## N* h ## N; + FOR_ALL_HASHERS(_MEMBER) +#undef _MEMBER +} Hashers; + +static BROTLI_INLINE void InitHashers(Hashers* self) { +#define _INIT(N) self->h ## N = 0; + FOR_ALL_HASHERS(_INIT) +#undef _INIT +} + +static BROTLI_INLINE void DestroyHashers(MemoryManager* m, Hashers* self) { + if (self->h10) CleanupH10(m, self->h10); +#define _CLEANUP(N) BROTLI_FREE(m, self->h ## N) + FOR_ALL_HASHERS(_CLEANUP) +#undef _CLEANUP +} + +static BROTLI_INLINE void HashersReset(Hashers* self, int type) { + switch (type) { +#define _RESET(N) case N: ResetH ## N(self->h ## N); break; + FOR_ALL_HASHERS(_RESET) +#undef _RESET + default: break; + } +} + +static BROTLI_INLINE void HashersSetup( + MemoryManager* m, Hashers* self, int type) { + switch (type) { +#define _SETUP(N) case N: self->h ## N = BROTLI_ALLOC(m, H ## N, 1); break; + FOR_ALL_HASHERS(_SETUP) +#undef _SETUP + default: break; + } + if (BROTLI_IS_OOM(m)) return; + if (type == 10) InitializeH10(self->h10); + HashersReset(self, type); +} + +#define _WARMUP_HASH(N) \ +static BROTLI_INLINE void WarmupHashH ## N(MemoryManager* m, \ + const BrotliEncoderParams* params, const size_t size, const uint8_t* dict, \ + H ## N* hasher) { \ + size_t overlap = (StoreLookaheadH ## N()) - 1; \ + size_t i; \ + InitH ## N(m, hasher, dict, params, 0, size, BROTLI_FALSE); \ + if (BROTLI_IS_OOM(m)) return; \ + for (i = 0; i + overlap < size; i++) { \ + StoreH ## N(hasher, dict, ~(size_t)0, i); \ + } \ +} +FOR_ALL_HASHERS(_WARMUP_HASH) +#undef _WARMUP_HASH + +/* Custom LZ77 window. */ +static BROTLI_INLINE void HashersPrependCustomDictionary( + MemoryManager* m, Hashers* self, const BrotliEncoderParams* params, + const size_t size, const uint8_t* dict) { + int hasher_type = ChooseHasher(params); + switch (hasher_type) { +#define _PREPEND(N) \ + case N: WarmupHashH ## N(m, params, size, dict, self->h ## N); break; + FOR_ALL_HASHERS(_PREPEND) +#undef _PREPEND + default: break; + } + if (BROTLI_IS_OOM(m)) return; +} + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_HASH_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h b/BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h new file mode 100644 index 000000000000..069441c9a707 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h @@ -0,0 +1,249 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN, BUCKET_BITS, NUM_BANKS, BANK_BITS, + NUM_LAST_DISTANCES_TO_CHECK */ + +/* A (forgetful) hash table to the data seen by the compressor, to + help create backward references to previous data. + + Hashes are stored in chains which are bucketed to groups. Group of chains + share a storage "bank". When more than "bank size" chain nodes are added, + oldest nodes are replaced; this way several chains may share a tail. */ + +#define HashForgetfulChain HASHER() + +#define BANK_SIZE (1 << BANK_BITS) + +/* Number of hash buckets. */ +#define BUCKET_SIZE (1 << BUCKET_BITS) + +#define CAPPED_CHAINS 0 + +static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; } +static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; } + +/* HashBytes is the function that chooses the bucket to place the address in.*/ +static BROTLI_INLINE size_t FN(HashBytes)(const uint8_t *data) { + const uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32; + /* The higher bits contain more mixture from the multiplication, + so we take our results from there. */ + return h >> (32 - BUCKET_BITS); +} + +typedef struct FN(Slot) { + uint16_t delta; + uint16_t next; +} FN(Slot); + +typedef struct FN(Bank) { + FN(Slot) slots[BANK_SIZE]; +} FN(Bank); + +typedef struct HashForgetfulChain { + uint32_t addr[BUCKET_SIZE]; + uint16_t head[BUCKET_SIZE]; + /* Truncated hash used for quick rejection of "distance cache" candidates. */ + uint8_t tiny_hash[65536]; + FN(Bank) banks[NUM_BANKS]; + uint16_t free_slot_idx[NUM_BANKS]; + BROTLI_BOOL is_dirty_; + DictionarySearchStatictics dict_search_stats_; + size_t max_hops; +} HashForgetfulChain; + +static void FN(Reset)(HashForgetfulChain* self) { + self->is_dirty_ = BROTLI_TRUE; + DictionarySearchStaticticsReset(&self->dict_search_stats_); +} + +static void FN(InitEmpty)(HashForgetfulChain* self) { + if (self->is_dirty_) { + /* Fill |addr| array with 0xCCCCCCCC value. Because of wrapping, position + processed by hasher never reaches 3GB + 64M; this makes all new chains + to be terminated after the first node. */ + memset(self->addr, 0xCC, sizeof(self->addr)); + memset(self->head, 0, sizeof(self->head)); + memset(self->tiny_hash, 0, sizeof(self->tiny_hash)); + memset(self->free_slot_idx, 0, sizeof(self->free_slot_idx)); + self->is_dirty_ = BROTLI_FALSE; + } +} + +static void FN(InitForData)(HashForgetfulChain* self, const uint8_t* data, + size_t num) { + size_t i; + for (i = 0; i < num; ++i) { + size_t bucket = FN(HashBytes)(&data[i]); + /* See InitEmpty comment. */ + self->addr[bucket] = 0xCCCCCCCC; + self->head[bucket] = 0xCCCC; + } + memset(self->tiny_hash, 0, sizeof(self->tiny_hash)); + memset(self->free_slot_idx, 0, sizeof(self->free_slot_idx)); + if (num != 0) { + self->is_dirty_ = BROTLI_FALSE; + } +} + +static void FN(Init)( + MemoryManager* m, HashForgetfulChain* self, const uint8_t* data, + const BrotliEncoderParams* params, size_t position, size_t bytes, + BROTLI_BOOL is_last) { + /* Choose which init method is faster. + Init() is about 100 times faster than InitForData(). */ + const size_t kMaxBytesForPartialHashInit = BUCKET_SIZE >> 6; + BROTLI_UNUSED(m); + self->max_hops = (params->quality > 6 ? 7u : 8u) << (params->quality - 4); + if (position == 0 && is_last && bytes <= kMaxBytesForPartialHashInit) { + FN(InitForData)(self, data, bytes); + } else { + FN(InitEmpty)(self); + } +} + +/* Look at 4 bytes at &data[ix & mask]. Compute a hash from these, and prepend + node to corresponding chain; also update tiny_hash for current position. */ +static BROTLI_INLINE void FN(Store)(HashForgetfulChain* BROTLI_RESTRICT self, + const uint8_t* BROTLI_RESTRICT data, const size_t mask, const size_t ix) { + const size_t key = FN(HashBytes)(&data[ix & mask]); + const size_t bank = key & (NUM_BANKS - 1); + const size_t idx = self->free_slot_idx[bank]++ & (BANK_SIZE - 1); + size_t delta = ix - self->addr[key]; + self->tiny_hash[(uint16_t)ix] = (uint8_t)key; + if (delta > 0xFFFF) delta = CAPPED_CHAINS ? 0 : 0xFFFF; + self->banks[bank].slots[idx].delta = (uint16_t)delta; + self->banks[bank].slots[idx].next = self->head[key]; + self->addr[key] = (uint32_t)ix; + self->head[key] = (uint16_t)idx; +} + +static BROTLI_INLINE void FN(StoreRange)(HashForgetfulChain* self, + const uint8_t *data, const size_t mask, const size_t ix_start, + const size_t ix_end) { + size_t i; + for (i = ix_start; i < ix_end; ++i) { + FN(Store)(self, data, mask, i); + } +} + +static BROTLI_INLINE void FN(StitchToPreviousBlock)(HashForgetfulChain* self, + size_t num_bytes, size_t position, const uint8_t* ringbuffer, + size_t ring_buffer_mask) { + if (num_bytes >= FN(HashTypeLength)() - 1 && position >= 3) { + /* Prepare the hashes for three last bytes of the last write. + These could not be calculated before, since they require knowledge + of both the previous and the current block. */ + FN(Store)(self, ringbuffer, ring_buffer_mask, position - 3); + FN(Store)(self, ringbuffer, ring_buffer_mask, position - 2); + FN(Store)(self, ringbuffer, ring_buffer_mask, position - 1); + } +} + +/* Find a longest backward match of &data[cur_ix] up to the length of + max_length and stores the position cur_ix in the hash table. + + Does not look for matches longer than max_length. + Does not look for matches further away than max_backward. + Writes the best match into |out|. + Returns 1 when match is found, otherwise 0. */ +static BROTLI_INLINE BROTLI_BOOL FN(FindLongestMatch)( + HashForgetfulChain* self, const uint8_t* BROTLI_RESTRICT data, + const size_t ring_buffer_mask, const int* BROTLI_RESTRICT distance_cache, + const size_t cur_ix, const size_t max_length, const size_t max_backward, + HasherSearchResult* BROTLI_RESTRICT out) { + const size_t cur_ix_masked = cur_ix & ring_buffer_mask; + BROTLI_BOOL is_match_found = BROTLI_FALSE; + /* Don't accept a short copy from far away. */ + score_t best_score = out->score; + size_t best_len = out->len; + size_t i; + const size_t key = FN(HashBytes)(&data[cur_ix_masked]); + const uint8_t tiny_hash = (uint8_t)(key); + out->len = 0; + out->len_x_code = 0; + /* Try last distance first. */ + for (i = 0; i < NUM_LAST_DISTANCES_TO_CHECK; ++i) { + const size_t idx = kDistanceCacheIndex[i]; + const size_t backward = + (size_t)(distance_cache[idx] + kDistanceCacheOffset[i]); + size_t prev_ix = (cur_ix - backward); + if (i > 0 && self->tiny_hash[(uint16_t)prev_ix] != tiny_hash) continue; + if (prev_ix >= cur_ix || backward > max_backward) { + continue; + } + prev_ix &= ring_buffer_mask; + { + const size_t len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 2) { + score_t score = BackwardReferenceScoreUsingLastDistance(len, i); + if (best_score < score) { + best_score = score; + best_len = len; + out->len = best_len; + out->distance = backward; + out->score = best_score; + is_match_found = BROTLI_TRUE; + } + } + } + } + { + const size_t bank = key & (NUM_BANKS - 1); + size_t backward = 0; + size_t hops = self->max_hops; + size_t delta = cur_ix - self->addr[key]; + size_t slot = self->head[key]; + while (hops--) { + size_t prev_ix; + size_t last = slot; + backward += delta; + if (backward > max_backward || (CAPPED_CHAINS && !delta)) break; + prev_ix = (cur_ix - backward) & ring_buffer_mask; + slot = self->banks[bank].slots[last].next; + delta = self->banks[bank].slots[last].delta; + if (cur_ix_masked + best_len > ring_buffer_mask || + prev_ix + best_len > ring_buffer_mask || + data[cur_ix_masked + best_len] != data[prev_ix + best_len]) { + continue; + } + { + const size_t len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 4) { + /* Comparing for >= 3 does not change the semantics, but just saves + for a few unnecessary binary logarithms in backward reference + score, since we are not interested in such short matches. */ + score_t score = BackwardReferenceScore(len, backward); + if (best_score < score) { + best_score = score; + best_len = len; + out->len = best_len; + out->distance = backward; + out->score = best_score; + is_match_found = BROTLI_TRUE; + } + } + } + } + FN(Store)(self, data, ring_buffer_mask, cur_ix); + } + if (!is_match_found) { + is_match_found = SearchInStaticDictionary(&self->dict_search_stats_, + &data[cur_ix_masked], max_length, max_backward, out, BROTLI_FALSE); + } + return is_match_found; +} + +#undef BANK_SIZE +#undef BUCKET_SIZE +#undef CAPPED_CHAINS + +#undef HashForgetfulChain diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h b/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h new file mode 100644 index 000000000000..4791b6f81b9b --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h @@ -0,0 +1,241 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN, BUCKET_BITS, BLOCK_BITS, + NUM_LAST_DISTANCES_TO_CHECK */ + +/* A (forgetful) hash table to the data seen by the compressor, to + help create backward references to previous data. + + This is a hash map of fixed size (BUCKET_SIZE) to a ring buffer of + fixed size (BLOCK_SIZE). The ring buffer contains the last BLOCK_SIZE + index positions of the given hash key in the compressed data. */ + +#define HashLongestMatch HASHER() + +/* Number of hash buckets. */ +#define BUCKET_SIZE (1 << BUCKET_BITS) + +/* Only BLOCK_SIZE newest backward references are kept, + and the older are forgotten. */ +#define BLOCK_SIZE (1u << BLOCK_BITS) + +/* Mask for accessing entries in a block (in a ringbuffer manner). */ +#define BLOCK_MASK ((1 << BLOCK_BITS) - 1) + +#define HASH_MAP_SIZE (2 << BUCKET_BITS) + +static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; } +static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; } + +/* HashBytes is the function that chooses the bucket to place + the address in. The HashLongestMatch and HashLongestMatchQuickly + classes have separate, different implementations of hashing. */ +static uint32_t FN(HashBytes)(const uint8_t *data) { + uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32; + /* The higher bits contain more mixture from the multiplication, + so we take our results from there. */ + return h >> (32 - BUCKET_BITS); +} + +typedef struct HashLongestMatch { + /* Number of entries in a particular bucket. */ + uint16_t num_[BUCKET_SIZE]; + + /* Buckets containing BLOCK_SIZE of backward references. */ + uint32_t buckets_[BLOCK_SIZE << BUCKET_BITS]; + + /* True if num_ array needs to be initialized. */ + BROTLI_BOOL is_dirty_; + + DictionarySearchStatictics dict_search_stats_; +} HashLongestMatch; + +static void FN(Reset)(HashLongestMatch* self) { + self->is_dirty_ = BROTLI_TRUE; + DictionarySearchStaticticsReset(&self->dict_search_stats_); +} + +static void FN(InitEmpty)(HashLongestMatch* self) { + if (self->is_dirty_) { + memset(self->num_, 0, sizeof(self->num_)); + self->is_dirty_ = BROTLI_FALSE; + } +} + +static void FN(InitForData)(HashLongestMatch* self, const uint8_t* data, + size_t num) { + size_t i; + for (i = 0; i < num; ++i) { + const uint32_t key = FN(HashBytes)(&data[i]); + self->num_[key] = 0; + } + if (num != 0) { + self->is_dirty_ = BROTLI_FALSE; + } +} + +static void FN(Init)( + MemoryManager* m, HashLongestMatch* self, const uint8_t* data, + const BrotliEncoderParams* params, size_t position, size_t bytes, + BROTLI_BOOL is_last) { + /* Choose which init method is faster. + Init() is about 100 times faster than InitForData(). */ + const size_t kMaxBytesForPartialHashInit = HASH_MAP_SIZE >> 7; + BROTLI_UNUSED(m); + BROTLI_UNUSED(params); + if (position == 0 && is_last && bytes <= kMaxBytesForPartialHashInit) { + FN(InitForData)(self, data, bytes); + } else { + FN(InitEmpty)(self); + } +} + +/* Look at 4 bytes at &data[ix & mask]. + Compute a hash from these, and store the value of ix at that position. */ +static BROTLI_INLINE void FN(Store)(HashLongestMatch* self, const uint8_t *data, + const size_t mask, const size_t ix) { + const uint32_t key = FN(HashBytes)(&data[ix & mask]); + const size_t minor_ix = self->num_[key] & BLOCK_MASK; + self->buckets_[minor_ix + (key << BLOCK_BITS)] = (uint32_t)ix; + ++self->num_[key]; +} + +static BROTLI_INLINE void FN(StoreRange)(HashLongestMatch* self, + const uint8_t *data, const size_t mask, const size_t ix_start, + const size_t ix_end) { + size_t i; + for (i = ix_start; i < ix_end; ++i) { + FN(Store)(self, data, mask, i); + } +} + +static BROTLI_INLINE void FN(StitchToPreviousBlock)(HashLongestMatch* self, + size_t num_bytes, size_t position, const uint8_t* ringbuffer, + size_t ringbuffer_mask) { + if (num_bytes >= FN(HashTypeLength)() - 1 && position >= 3) { + /* Prepare the hashes for three last bytes of the last write. + These could not be calculated before, since they require knowledge + of both the previous and the current block. */ + FN(Store)(self, ringbuffer, ringbuffer_mask, position - 3); + FN(Store)(self, ringbuffer, ringbuffer_mask, position - 2); + FN(Store)(self, ringbuffer, ringbuffer_mask, position - 1); + } +} + +/* Find a longest backward match of &data[cur_ix] up to the length of + max_length and stores the position cur_ix in the hash table. + + Does not look for matches longer than max_length. + Does not look for matches further away than max_backward. + Writes the best match into |out|. + Returns true when match is found, otherwise false. */ +static BROTLI_INLINE BROTLI_BOOL FN(FindLongestMatch)(HashLongestMatch* self, + const uint8_t* BROTLI_RESTRICT data, const size_t ring_buffer_mask, + const int* BROTLI_RESTRICT distance_cache, const size_t cur_ix, + const size_t max_length, const size_t max_backward, + HasherSearchResult* BROTLI_RESTRICT out) { + const size_t cur_ix_masked = cur_ix & ring_buffer_mask; + BROTLI_BOOL is_match_found = BROTLI_FALSE; + /* Don't accept a short copy from far away. */ + score_t best_score = out->score; + size_t best_len = out->len; + size_t i; + out->len = 0; + out->len_x_code = 0; + /* Try last distance first. */ + for (i = 0; i < NUM_LAST_DISTANCES_TO_CHECK; ++i) { + const size_t idx = kDistanceCacheIndex[i]; + const size_t backward = + (size_t)(distance_cache[idx] + kDistanceCacheOffset[i]); + size_t prev_ix = (size_t)(cur_ix - backward); + if (prev_ix >= cur_ix) { + continue; + } + if (PREDICT_FALSE(backward > max_backward)) { + continue; + } + prev_ix &= ring_buffer_mask; + + if (cur_ix_masked + best_len > ring_buffer_mask || + prev_ix + best_len > ring_buffer_mask || + data[cur_ix_masked + best_len] != data[prev_ix + best_len]) { + continue; + } + { + const size_t len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 3 || (len == 2 && i < 2)) { + /* Comparing for >= 2 does not change the semantics, but just saves for + a few unnecessary binary logarithms in backward reference score, + since we are not interested in such short matches. */ + score_t score = BackwardReferenceScoreUsingLastDistance(len, i); + if (best_score < score) { + best_score = score; + best_len = len; + out->len = best_len; + out->distance = backward; + out->score = best_score; + is_match_found = BROTLI_TRUE; + } + } + } + } + { + const uint32_t key = FN(HashBytes)(&data[cur_ix_masked]); + uint32_t* BROTLI_RESTRICT bucket = &self->buckets_[key << BLOCK_BITS]; + const size_t down = + (self->num_[key] > BLOCK_SIZE) ? (self->num_[key] - BLOCK_SIZE) : 0u; + for (i = self->num_[key]; i > down;) { + size_t prev_ix = bucket[--i & BLOCK_MASK]; + const size_t backward = cur_ix - prev_ix; + if (PREDICT_FALSE(backward > max_backward)) { + break; + } + prev_ix &= ring_buffer_mask; + if (cur_ix_masked + best_len > ring_buffer_mask || + prev_ix + best_len > ring_buffer_mask || + data[cur_ix_masked + best_len] != data[prev_ix + best_len]) { + continue; + } + { + const size_t len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 4) { + /* Comparing for >= 3 does not change the semantics, but just saves + for a few unnecessary binary logarithms in backward reference + score, since we are not interested in such short matches. */ + score_t score = BackwardReferenceScore(len, backward); + if (best_score < score) { + best_score = score; + best_len = len; + out->len = best_len; + out->distance = backward; + out->score = best_score; + is_match_found = BROTLI_TRUE; + } + } + } + } + bucket[self->num_[key] & BLOCK_MASK] = (uint32_t)cur_ix; + ++self->num_[key]; + } + if (!is_match_found) { + is_match_found = SearchInStaticDictionary(&self->dict_search_stats_, + &data[cur_ix_masked], max_length, max_backward, out, BROTLI_FALSE); + } + return is_match_found; +} + +#undef HASH_MAP_SIZE +#undef BLOCK_MASK +#undef BLOCK_SIZE +#undef BUCKET_SIZE + +#undef HashLongestMatch diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h b/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h new file mode 100644 index 000000000000..49e6795f5abc --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h @@ -0,0 +1,230 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN, BUCKET_BITS, BUCKET_SWEEP, USE_DICTIONARY */ + +#define HashLongestMatchQuickly HASHER() + +#define BUCKET_SIZE (1 << BUCKET_BITS) + +#define HASH_MAP_SIZE (4 << BUCKET_BITS) + +static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 8; } +static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 8; } + +/* HashBytes is the function that chooses the bucket to place + the address in. The HashLongestMatch and HashLongestMatchQuickly + classes have separate, different implementations of hashing. */ +static uint32_t FN(HashBytes)(const uint8_t *data) { + /* Computing a hash based on 5 bytes works much better for + qualities 1 and 3, where the next hash value is likely to replace */ + uint64_t h = (BROTLI_UNALIGNED_LOAD64(data) << 24) * kHashMul32; + /* The higher bits contain more mixture from the multiplication, + so we take our results from there. */ + return (uint32_t)(h >> (64 - BUCKET_BITS)); +} + +/* A (forgetful) hash table to the data seen by the compressor, to + help create backward references to previous data. + + This is a hash map of fixed size (BUCKET_SIZE). Starting from the + given index, BUCKET_SWEEP buckets are used to store values of a key. */ +typedef struct HashLongestMatchQuickly { + uint32_t buckets_[BUCKET_SIZE + BUCKET_SWEEP]; + /* True if buckets_ array needs to be initialized. */ + BROTLI_BOOL is_dirty_; + DictionarySearchStatictics dict_search_stats_; +} HashLongestMatchQuickly; + +static void FN(Reset)(HashLongestMatchQuickly* self) { + self->is_dirty_ = BROTLI_TRUE; + DictionarySearchStaticticsReset(&self->dict_search_stats_); +} + +static void FN(InitEmpty)(HashLongestMatchQuickly* self) { + if (self->is_dirty_) { + /* It is not strictly necessary to fill this buffer here, but + not filling will make the results of the compression stochastic + (but correct). This is because random data would cause the + system to find accidentally good backward references here and there. */ + memset(&self->buckets_[0], 0, sizeof(self->buckets_)); + self->is_dirty_ = BROTLI_FALSE; + } +} + +static void FN(InitForData)(HashLongestMatchQuickly* self, const uint8_t* data, + size_t num) { + size_t i; + for (i = 0; i < num; ++i) { + const uint32_t key = FN(HashBytes)(&data[i]); + memset(&self->buckets_[key], 0, BUCKET_SWEEP * sizeof(self->buckets_[0])); + } + if (num != 0) { + self->is_dirty_ = BROTLI_FALSE; + } +} + +static void FN(Init)( + MemoryManager* m, HashLongestMatchQuickly* self, const uint8_t* data, + const BrotliEncoderParams* params, size_t position, size_t bytes, + BROTLI_BOOL is_last) { + /* Choose which init method is faster. + Init() is about 100 times faster than InitForData(). */ + const size_t kMaxBytesForPartialHashInit = HASH_MAP_SIZE >> 7; + BROTLI_UNUSED(m); + BROTLI_UNUSED(params); + if (position == 0 && is_last && bytes <= kMaxBytesForPartialHashInit) { + FN(InitForData)(self, data, bytes); + } else { + FN(InitEmpty)(self); + } +} + +/* Look at 5 bytes at &data[ix & mask]. + Compute a hash from these, and store the value somewhere within + [ix .. ix+3]. */ +static BROTLI_INLINE void FN(Store)(HashLongestMatchQuickly* self, + const uint8_t *data, const size_t mask, const size_t ix) { + const uint32_t key = FN(HashBytes)(&data[ix & mask]); + /* Wiggle the value with the bucket sweep range. */ + const uint32_t off = (ix >> 3) % BUCKET_SWEEP; + self->buckets_[key + off] = (uint32_t)ix; +} + +static BROTLI_INLINE void FN(StoreRange)(HashLongestMatchQuickly* self, + const uint8_t *data, const size_t mask, const size_t ix_start, + const size_t ix_end) { + size_t i; + for (i = ix_start; i < ix_end; ++i) { + FN(Store)(self, data, mask, i); + } +} + +static BROTLI_INLINE void FN(StitchToPreviousBlock)( + HashLongestMatchQuickly* self, size_t num_bytes, size_t position, + const uint8_t* ringbuffer, size_t ringbuffer_mask) { + if (num_bytes >= FN(HashTypeLength)() - 1 && position >= 3) { + /* Prepare the hashes for three last bytes of the last write. + These could not be calculated before, since they require knowledge + of both the previous and the current block. */ + FN(Store)(self, ringbuffer, ringbuffer_mask, position - 3); + FN(Store)(self, ringbuffer, ringbuffer_mask, position - 2); + FN(Store)(self, ringbuffer, ringbuffer_mask, position - 1); + } +} + +/* Find a longest backward match of &data[cur_ix & ring_buffer_mask] + up to the length of max_length and stores the position cur_ix in the + hash table. + + Does not look for matches longer than max_length. + Does not look for matches further away than max_backward. + Writes the best match into |out|. + Returns true if match is found, otherwise false. */ +static BROTLI_INLINE BROTLI_BOOL FN(FindLongestMatch)( + HashLongestMatchQuickly* self, const uint8_t* BROTLI_RESTRICT data, + const size_t ring_buffer_mask, const int* BROTLI_RESTRICT distance_cache, + const size_t cur_ix, const size_t max_length, const size_t max_backward, + HasherSearchResult* BROTLI_RESTRICT out) { + const size_t best_len_in = out->len; + const size_t cur_ix_masked = cur_ix & ring_buffer_mask; + const uint32_t key = FN(HashBytes)(&data[cur_ix_masked]); + int compare_char = data[cur_ix_masked + best_len_in]; + score_t best_score = out->score; + size_t best_len = best_len_in; + size_t cached_backward = (size_t)distance_cache[0]; + size_t prev_ix = cur_ix - cached_backward; + BROTLI_BOOL is_match_found = BROTLI_FALSE; + out->len_x_code = 0; + if (prev_ix < cur_ix) { + prev_ix &= (uint32_t)ring_buffer_mask; + if (compare_char == data[prev_ix + best_len]) { + size_t len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 4) { + best_score = BackwardReferenceScoreUsingLastDistance(len, 0); + best_len = len; + out->len = len; + out->distance = cached_backward; + out->score = best_score; + compare_char = data[cur_ix_masked + best_len]; + if (BUCKET_SWEEP == 1) { + self->buckets_[key] = (uint32_t)cur_ix; + return BROTLI_TRUE; + } else { + is_match_found = BROTLI_TRUE; + } + } + } + } + if (BUCKET_SWEEP == 1) { + size_t backward; + size_t len; + /* Only one to look for, don't bother to prepare for a loop. */ + prev_ix = self->buckets_[key]; + self->buckets_[key] = (uint32_t)cur_ix; + backward = cur_ix - prev_ix; + prev_ix &= (uint32_t)ring_buffer_mask; + if (compare_char != data[prev_ix + best_len_in]) { + return BROTLI_FALSE; + } + if (PREDICT_FALSE(backward == 0 || backward > max_backward)) { + return BROTLI_FALSE; + } + len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 4) { + out->len = len; + out->distance = backward; + out->score = BackwardReferenceScore(len, backward); + return BROTLI_TRUE; + } + } else { + uint32_t *bucket = self->buckets_ + key; + int i; + prev_ix = *bucket++; + for (i = 0; i < BUCKET_SWEEP; ++i, prev_ix = *bucket++) { + const size_t backward = cur_ix - prev_ix; + size_t len; + prev_ix &= (uint32_t)ring_buffer_mask; + if (compare_char != data[prev_ix + best_len]) { + continue; + } + if (PREDICT_FALSE(backward == 0 || backward > max_backward)) { + continue; + } + len = FindMatchLengthWithLimit(&data[prev_ix], + &data[cur_ix_masked], + max_length); + if (len >= 4) { + const score_t score = BackwardReferenceScore(len, backward); + if (best_score < score) { + best_score = score; + best_len = len; + out->len = best_len; + out->distance = backward; + out->score = score; + compare_char = data[cur_ix_masked + best_len]; + is_match_found = BROTLI_TRUE; + } + } + } + } + if (USE_DICTIONARY && !is_match_found) { + is_match_found = SearchInStaticDictionary(&self->dict_search_stats_, + &data[cur_ix_masked], max_length, max_backward, out, BROTLI_TRUE); + } + self->buckets_[key + ((cur_ix >> 3) % BUCKET_SWEEP)] = (uint32_t)cur_ix; + return is_match_found; +} + +#undef HASH_MAP_SIZE +#undef BUCKET_SIZE + +#undef HashLongestMatchQuickly diff --git a/BaseTools/Source/C/BrotliCompress/enc/histogram.c b/BaseTools/Source/C/BrotliCompress/enc/histogram.c new file mode 100644 index 000000000000..dc0a12f0b1cb --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/histogram.c @@ -0,0 +1,95 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Build per-context histograms of literals, commands and distance codes. */ + +#include "./histogram.h" + +#include "./block_splitter.h" +#include "./command.h" +#include "./context.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef struct BlockSplitIterator { + const BlockSplit* split_; /* Not owned. */ + size_t idx_; + size_t type_; + size_t length_; +} BlockSplitIterator; + +static void InitBlockSplitIterator(BlockSplitIterator* self, + const BlockSplit* split) { + self->split_ = split; + self->idx_ = 0; + self->type_ = 0; + self->length_ = split->lengths ? split->lengths[0] : 0; +} + +static void BlockSplitIteratorNext(BlockSplitIterator* self) { + if (self->length_ == 0) { + ++self->idx_; + self->type_ = self->split_->types[self->idx_]; + self->length_ = self->split_->lengths[self->idx_]; + } + --self->length_; +} + +void BrotliBuildHistogramsWithContext( + const Command* cmds, const size_t num_commands, + const BlockSplit* literal_split, const BlockSplit* insert_and_copy_split, + const BlockSplit* dist_split, const uint8_t* ringbuffer, size_t start_pos, + size_t mask, uint8_t prev_byte, uint8_t prev_byte2, + const ContextType* context_modes, HistogramLiteral* literal_histograms, + HistogramCommand* insert_and_copy_histograms, + HistogramDistance* copy_dist_histograms) { + size_t pos = start_pos; + BlockSplitIterator literal_it; + BlockSplitIterator insert_and_copy_it; + BlockSplitIterator dist_it; + size_t i; + + InitBlockSplitIterator(&literal_it, literal_split); + InitBlockSplitIterator(&insert_and_copy_it, insert_and_copy_split); + InitBlockSplitIterator(&dist_it, dist_split); + for (i = 0; i < num_commands; ++i) { + const Command* cmd = &cmds[i]; + size_t j; + BlockSplitIteratorNext(&insert_and_copy_it); + HistogramAddCommand(&insert_and_copy_histograms[insert_and_copy_it.type_], + cmd->cmd_prefix_); + for (j = cmd->insert_len_; j != 0; --j) { + size_t context; + BlockSplitIteratorNext(&literal_it); + context = (literal_it.type_ << BROTLI_LITERAL_CONTEXT_BITS) + + Context(prev_byte, prev_byte2, context_modes[literal_it.type_]); + HistogramAddLiteral(&literal_histograms[context], + ringbuffer[pos & mask]); + prev_byte2 = prev_byte; + prev_byte = ringbuffer[pos & mask]; + ++pos; + } + pos += CommandCopyLen(cmd); + if (CommandCopyLen(cmd)) { + prev_byte2 = ringbuffer[(pos - 2) & mask]; + prev_byte = ringbuffer[(pos - 1) & mask]; + if (cmd->cmd_prefix_ >= 128) { + size_t context; + BlockSplitIteratorNext(&dist_it); + context = (dist_it.type_ << BROTLI_DISTANCE_CONTEXT_BITS) + + CommandDistanceContext(cmd); + HistogramAddDistance(©_dist_histograms[context], + cmd->dist_prefix_); + } + } + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/histogram.h b/BaseTools/Source/C/BrotliCompress/enc/histogram.h new file mode 100644 index 000000000000..e41b726ccf44 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/histogram.h @@ -0,0 +1,60 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Models the histograms of literals, commands and distance codes. */ + +#ifndef BROTLI_ENC_HISTOGRAM_H_ +#define BROTLI_ENC_HISTOGRAM_H_ + +#include /* memset */ + +#include "../common/constants.h" +#include "../common/types.h" +#include "./block_splitter.h" +#include "./command.h" +#include "./context.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define FN(X) X ## Literal +#define DATA_SIZE BROTLI_NUM_LITERAL_SYMBOLS +#define DataType uint8_t +#include "./histogram_inc.h" /* NOLINT(build/include) */ +#undef DataType +#undef DATA_SIZE +#undef FN + +#define FN(X) X ## Command +#define DataType uint16_t +#define DATA_SIZE BROTLI_NUM_COMMAND_SYMBOLS +#include "./histogram_inc.h" /* NOLINT(build/include) */ +#undef DATA_SIZE +#undef FN + +#define FN(X) X ## Distance +#define DATA_SIZE BROTLI_NUM_DISTANCE_SYMBOLS +#include "./histogram_inc.h" /* NOLINT(build/include) */ +#undef DataType +#undef DATA_SIZE +#undef FN + +BROTLI_INTERNAL void BrotliBuildHistogramsWithContext( + const Command* cmds, const size_t num_commands, + const BlockSplit* literal_split, const BlockSplit* insert_and_copy_split, + const BlockSplit* dist_split, const uint8_t* ringbuffer, size_t pos, + size_t mask, uint8_t prev_byte, uint8_t prev_byte2, + const ContextType* context_modes, HistogramLiteral* literal_histograms, + HistogramCommand* insert_and_copy_histograms, + HistogramDistance* copy_dist_histograms); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_HISTOGRAM_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h b/BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h new file mode 100644 index 000000000000..76c75448508e --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h @@ -0,0 +1,51 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: Histogram, DATA_SIZE, DataType */ + +/* A simple container for histograms of data in blocks. */ + +typedef struct FN(Histogram) { + uint32_t data_[DATA_SIZE]; + size_t total_count_; + double bit_cost_; +} FN(Histogram); + +static BROTLI_INLINE void FN(HistogramClear)(FN(Histogram)* self) { + memset(self->data_, 0, sizeof(self->data_)); + self->total_count_ = 0; + self->bit_cost_ = HUGE_VAL; +} + +static BROTLI_INLINE void FN(ClearHistograms)( + FN(Histogram)* array, size_t length) { + size_t i; + for (i = 0; i < length; ++i) FN(HistogramClear)(array + i); +} + +static BROTLI_INLINE void FN(HistogramAdd)(FN(Histogram)* self, size_t val) { + ++self->data_[val]; + ++self->total_count_; +} + +static BROTLI_INLINE void FN(HistogramAddVector)(FN(Histogram)* self, + const DataType *p, size_t n) { + self->total_count_ += n; + n += 1; + while (--n) ++self->data_[*p++]; +} + +static BROTLI_INLINE void FN(HistogramAddHistogram)(FN(Histogram)* self, + const FN(Histogram)* v) { + size_t i; + self->total_count_ += v->total_count_; + for (i = 0; i < DATA_SIZE; ++i) { + self->data_[i] += v->data_[i]; + } +} + +static BROTLI_INLINE size_t FN(HistogramDataSize)(void) { return DATA_SIZE; } diff --git a/BaseTools/Source/C/BrotliCompress/enc/literal_cost.c b/BaseTools/Source/C/BrotliCompress/enc/literal_cost.c new file mode 100644 index 000000000000..e40a082243db --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/literal_cost.c @@ -0,0 +1,178 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Literal cost model to allow backward reference replacement to be efficient. +*/ + +#include "./literal_cost.h" + +#include "../common/types.h" +#include "./fast_log.h" +#include "./port.h" +#include "./utf8_util.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static size_t UTF8Position(size_t last, size_t c, size_t clamp) { + if (c < 128) { + return 0; /* Next one is the 'Byte 1' again. */ + } else if (c >= 192) { /* Next one is the 'Byte 2' of utf-8 encoding. */ + return BROTLI_MIN(size_t, 1, clamp); + } else { + /* Let's decide over the last byte if this ends the sequence. */ + if (last < 0xe0) { + return 0; /* Completed two or three byte coding. */ + } else { /* Next one is the 'Byte 3' of utf-8 encoding. */ + return BROTLI_MIN(size_t, 2, clamp); + } + } +} + +static size_t DecideMultiByteStatsLevel(size_t pos, size_t len, size_t mask, + const uint8_t *data) { + size_t counts[3] = { 0 }; + size_t max_utf8 = 1; /* should be 2, but 1 compresses better. */ + size_t last_c = 0; + size_t utf8_pos = 0; + size_t i; + for (i = 0; i < len; ++i) { + size_t c = data[(pos + i) & mask]; + utf8_pos = UTF8Position(last_c, c, 2); + ++counts[utf8_pos]; + last_c = c; + } + if (counts[2] < 500) { + max_utf8 = 1; + } + if (counts[1] + counts[2] < 25) { + max_utf8 = 0; + } + return max_utf8; +} + +static void EstimateBitCostsForLiteralsUTF8(size_t pos, size_t len, size_t mask, + const uint8_t *data, float *cost) { + /* max_utf8 is 0 (normal ascii single byte modeling), + 1 (for 2-byte utf-8 modeling), or 2 (for 3-byte utf-8 modeling). */ + const size_t max_utf8 = DecideMultiByteStatsLevel(pos, len, mask, data); + size_t histogram[3][256] = { { 0 } }; + size_t window_half = 495; + size_t in_window = BROTLI_MIN(size_t, window_half, len); + size_t in_window_utf8[3] = { 0 }; + + + size_t i; + { /* Bootstrap histograms. */ + size_t last_c = 0; + size_t utf8_pos = 0; + for (i = 0; i < in_window; ++i) { + size_t c = data[(pos + i) & mask]; + ++histogram[utf8_pos][c]; + ++in_window_utf8[utf8_pos]; + utf8_pos = UTF8Position(last_c, c, max_utf8); + last_c = c; + } + } + + /* Compute bit costs with sliding window. */ + for (i = 0; i < len; ++i) { + if (i >= window_half) { + /* Remove a byte in the past. */ + size_t c = + i < window_half + 1 ? 0 : data[(pos + i - window_half - 1) & mask]; + size_t last_c = + i < window_half + 2 ? 0 : data[(pos + i - window_half - 2) & mask]; + size_t utf8_pos2 = UTF8Position(last_c, c, max_utf8); + --histogram[utf8_pos2][data[(pos + i - window_half) & mask]]; + --in_window_utf8[utf8_pos2]; + } + if (i + window_half < len) { + /* Add a byte in the future. */ + size_t c = data[(pos + i + window_half - 1) & mask]; + size_t last_c = data[(pos + i + window_half - 2) & mask]; + size_t utf8_pos2 = UTF8Position(last_c, c, max_utf8); + ++histogram[utf8_pos2][data[(pos + i + window_half) & mask]]; + ++in_window_utf8[utf8_pos2]; + } + { + size_t c = i < 1 ? 0 : data[(pos + i - 1) & mask]; + size_t last_c = i < 2 ? 0 : data[(pos + i - 2) & mask]; + size_t utf8_pos = UTF8Position(last_c, c, max_utf8); + size_t masked_pos = (pos + i) & mask; + size_t histo = histogram[utf8_pos][data[masked_pos]]; + double lit_cost; + if (histo == 0) { + histo = 1; + } + lit_cost = FastLog2(in_window_utf8[utf8_pos]) - FastLog2(histo); + lit_cost += 0.02905; + if (lit_cost < 1.0) { + lit_cost *= 0.5; + lit_cost += 0.5; + } + /* Make the first bytes more expensive -- seems to help, not sure why. + Perhaps because the entropy source is changing its properties + rapidly in the beginning of the file, perhaps because the beginning + of the data is a statistical "anomaly". */ + if (i < 2000) { + lit_cost += 0.7 - ((double)(2000 - i) / 2000.0 * 0.35); + } + cost[i] = (float)lit_cost; + } + } +} + +void BrotliEstimateBitCostsForLiterals(size_t pos, size_t len, size_t mask, + const uint8_t *data, float *cost) { + if (BrotliIsMostlyUTF8(data, pos, mask, len, kMinUTF8Ratio)) { + EstimateBitCostsForLiteralsUTF8(pos, len, mask, data, cost); + return; + } else { + size_t histogram[256] = { 0 }; + size_t window_half = 2000; + size_t in_window = BROTLI_MIN(size_t, window_half, len); + + /* Bootstrap histogram. */ + size_t i; + for (i = 0; i < in_window; ++i) { + ++histogram[data[(pos + i) & mask]]; + } + + /* Compute bit costs with sliding window. */ + for (i = 0; i < len; ++i) { + size_t histo; + if (i >= window_half) { + /* Remove a byte in the past. */ + --histogram[data[(pos + i - window_half) & mask]]; + --in_window; + } + if (i + window_half < len) { + /* Add a byte in the future. */ + ++histogram[data[(pos + i + window_half) & mask]]; + ++in_window; + } + histo = histogram[data[(pos + i) & mask]]; + if (histo == 0) { + histo = 1; + } + { + double lit_cost = FastLog2(in_window) - FastLog2(histo); + lit_cost += 0.029; + if (lit_cost < 1.0) { + lit_cost *= 0.5; + lit_cost += 0.5; + } + cost[i] = (float)lit_cost; + } + } + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/literal_cost.h b/BaseTools/Source/C/BrotliCompress/enc/literal_cost.h new file mode 100644 index 000000000000..6573b2dbb6b0 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/literal_cost.h @@ -0,0 +1,30 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Literal cost model to allow backward reference replacement to be efficient. +*/ + +#ifndef BROTLI_ENC_LITERAL_COST_H_ +#define BROTLI_ENC_LITERAL_COST_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* Estimates how many bits the literals in the interval [pos, pos + len) in the + ringbuffer (data, mask) will take entropy coded and writes these estimates + to the cost[0..len) array. */ +BROTLI_INTERNAL void BrotliEstimateBitCostsForLiterals( + size_t pos, size_t len, size_t mask, const uint8_t *data, float *cost); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_LITERAL_COST_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/memory.c b/BaseTools/Source/C/BrotliCompress/enc/memory.c new file mode 100644 index 000000000000..92ed253cb7f3 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/memory.c @@ -0,0 +1,181 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Algorithms for distributing the literals and commands of a metablock between + block types and contexts. */ + +#include "./memory.h" + +#include +#include /* exit, free, malloc */ +#include /* memcpy */ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define MAX_PERM_ALLOCATED 128 +#define MAX_NEW_ALLOCATED 64 +#define MAX_NEW_FREED 64 + +#define PERM_ALLOCATED_OFFSET 0 +#define NEW_ALLOCATED_OFFSET MAX_PERM_ALLOCATED +#define NEW_FREED_OFFSET (MAX_PERM_ALLOCATED + MAX_NEW_ALLOCATED) + +static void* DefaultAllocFunc(void* opaque, size_t size) { + BROTLI_UNUSED(opaque); + return malloc(size); +} + +static void DefaultFreeFunc(void* opaque, void* address) { + BROTLI_UNUSED(opaque); + free(address); +} + +void BrotliInitMemoryManager( + MemoryManager* m, brotli_alloc_func alloc_func, brotli_free_func free_func, + void* opaque) { + if (!alloc_func) { + m->alloc_func = DefaultAllocFunc; + m->free_func = DefaultFreeFunc; + m->opaque = 0; + } else { + m->alloc_func = alloc_func; + m->free_func = free_func; + m->opaque = opaque; + } +#if !defined(BROTLI_ENCODER_EXIT_ON_OOM) + m->is_oom = BROTLI_FALSE; + m->perm_allocated = 0; + m->new_allocated = 0; + m->new_freed = 0; +#endif /* BROTLI_ENCODER_EXIT_ON_OOM */ +} + +#if defined(BROTLI_ENCODER_EXIT_ON_OOM) + +void* BrotliAllocate(MemoryManager* m, size_t n) { + void* result = m->alloc_func(m->opaque, n); + if (!result) exit(EXIT_FAILURE); + return result; +} + +void BrotliFree(MemoryManager* m, void* p) { + m->free_func(m->opaque, p); +} + +void BrotliWipeOutMemoryManager(MemoryManager* m) { + BROTLI_UNUSED(m); +} + +#else /* BROTLI_ENCODER_EXIT_ON_OOM */ + +static void SortPointers(void** items, const size_t n) { + /* Shell sort. */ + static const size_t gaps[] = {23, 10, 4, 1}; + int g = 0; + for (; g < 4; ++g) { + size_t gap = gaps[g]; + size_t i; + for (i = gap; i < n; ++i) { + size_t j = i; + void* tmp = items[i]; + for (; j >= gap && tmp < items[j - gap]; j -= gap) { + items[j] = items[j - gap]; + } + items[j] = tmp; + } + } +} + +static size_t Annihilate(void** a, size_t a_len, void** b, size_t b_len) { + size_t a_read_index = 0; + size_t b_read_index = 0; + size_t a_write_index = 0; + size_t b_write_index = 0; + size_t annihilated = 0; + while (a_read_index < a_len && b_read_index < b_len) { + if (a[a_read_index] == b[b_read_index]) { + a_read_index++; + b_read_index++; + annihilated++; + } else if (a[a_read_index] < b[b_read_index]) { + a[a_write_index++] = a[a_read_index++]; + } else { + b[b_write_index++] = b[b_read_index++]; + } + } + while (a_read_index < a_len) a[a_write_index++] = a[a_read_index++]; + while (b_read_index < b_len) b[b_write_index++] = b[b_read_index++]; + return annihilated; +} + +static void CollectGarbagePointers(MemoryManager* m) { + size_t annihilated; + SortPointers(m->pointers + NEW_ALLOCATED_OFFSET, m->new_allocated); + SortPointers(m->pointers + NEW_FREED_OFFSET, m->new_freed); + annihilated = Annihilate( + m->pointers + NEW_ALLOCATED_OFFSET, m->new_allocated, + m->pointers + NEW_FREED_OFFSET, m->new_freed); + m->new_allocated -= annihilated; + m->new_freed -= annihilated; + + if (m->new_freed != 0) { + annihilated = Annihilate( + m->pointers + PERM_ALLOCATED_OFFSET, m->perm_allocated, + m->pointers + NEW_FREED_OFFSET, m->new_freed); + m->perm_allocated -= annihilated; + m->new_freed -= annihilated; + assert(m->new_freed == 0); + } + + if (m->new_allocated != 0) { + assert(m->perm_allocated + m->new_allocated <= MAX_PERM_ALLOCATED); + memcpy(m->pointers + PERM_ALLOCATED_OFFSET + m->perm_allocated, + m->pointers + NEW_ALLOCATED_OFFSET, + sizeof(void*) * m->new_allocated); + m->perm_allocated += m->new_allocated; + m->new_allocated = 0; + SortPointers(m->pointers + PERM_ALLOCATED_OFFSET, m->perm_allocated); + } +} + +void* BrotliAllocate(MemoryManager* m, size_t n) { + void* result = m->alloc_func(m->opaque, n); + if (!result) { + m->is_oom = BROTLI_TRUE; + return NULL; + } + if (m->new_allocated == MAX_NEW_ALLOCATED) CollectGarbagePointers(m); + m->pointers[NEW_ALLOCATED_OFFSET + (m->new_allocated++)] = result; + return result; +} + +void BrotliFree(MemoryManager* m, void* p) { + if (!p) return; + m->free_func(m->opaque, p); + if (m->new_freed == MAX_NEW_FREED) CollectGarbagePointers(m); + m->pointers[NEW_FREED_OFFSET + (m->new_freed++)] = p; +} + +void BrotliWipeOutMemoryManager(MemoryManager* m) { + size_t i; + CollectGarbagePointers(m); + /* Now all unfreed pointers are in perm-allocated list. */ + for (i = 0; i < m->perm_allocated; ++i) { + m->free_func(m->opaque, m->pointers[PERM_ALLOCATED_OFFSET + i]); + } + m->perm_allocated = 0; +} + +#endif /* BROTLI_ENCODER_EXIT_ON_OOM */ + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/memory.h b/BaseTools/Source/C/BrotliCompress/enc/memory.h new file mode 100644 index 000000000000..5ef59fa52ab2 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/memory.h @@ -0,0 +1,62 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Macros for memory management. */ + +#ifndef BROTLI_ENC_MEMORY_H_ +#define BROTLI_ENC_MEMORY_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#if !defined(BROTLI_ENCODER_CLEANUP_ON_OOM) && \ + !defined(BROTLI_ENCODER_EXIT_ON_OOM) +#define BROTLI_ENCODER_EXIT_ON_OOM +#endif + +typedef struct MemoryManager { + brotli_alloc_func alloc_func; + brotli_free_func free_func; + void* opaque; +#if !defined(BROTLI_ENCODER_EXIT_ON_OOM) + BROTLI_BOOL is_oom; + size_t perm_allocated; + size_t new_allocated; + size_t new_freed; + void* pointers[256]; +#endif /* BROTLI_ENCODER_EXIT_ON_OOM */ +} MemoryManager; + +BROTLI_INTERNAL void BrotliInitMemoryManager( + MemoryManager* m, brotli_alloc_func alloc_func, brotli_free_func free_func, + void* opaque); + +BROTLI_INTERNAL void* BrotliAllocate(MemoryManager* m, size_t n); +#define BROTLI_ALLOC(M, T, N) ((T*)BrotliAllocate((M), (N) * sizeof(T))) + +BROTLI_INTERNAL void BrotliFree(MemoryManager* m, void* p); +#define BROTLI_FREE(M, P) { \ + BrotliFree((M), (P)); \ + P = NULL; \ +} + +#if defined(BROTLI_ENCODER_EXIT_ON_OOM) +#define BROTLI_IS_OOM(M) (!!0) +#else /* BROTLI_ENCODER_EXIT_ON_OOM */ +#define BROTLI_IS_OOM(M) (!!(M)->is_oom) +#endif /* BROTLI_ENCODER_EXIT_ON_OOM */ + +BROTLI_INTERNAL void BrotliWipeOutMemoryManager(MemoryManager* m); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_MEMORY_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/metablock.c b/BaseTools/Source/C/BrotliCompress/enc/metablock.c new file mode 100644 index 000000000000..2bffebb7dae3 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/metablock.c @@ -0,0 +1,515 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Algorithms for distributing the literals and commands of a metablock between + block types and contexts. */ + +#include "./metablock.h" + +#include "../common/constants.h" +#include "../common/types.h" +#include "./bit_cost.h" +#include "./block_splitter.h" +#include "./cluster.h" +#include "./context.h" +#include "./entropy_encode.h" +#include "./histogram.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +void BrotliBuildMetaBlock(MemoryManager* m, + const uint8_t* ringbuffer, + const size_t pos, + const size_t mask, + const BrotliEncoderParams* params, + uint8_t prev_byte, + uint8_t prev_byte2, + const Command* cmds, + size_t num_commands, + ContextType literal_context_mode, + MetaBlockSplit* mb) { + /* Histogram ids need to fit in one byte. */ + static const size_t kMaxNumberOfHistograms = 256; + HistogramDistance* distance_histograms; + HistogramLiteral* literal_histograms; + ContextType* literal_context_modes; + size_t num_literal_contexts; + size_t num_distance_contexts; + size_t i; + + BrotliSplitBlock(m, cmds, num_commands, + ringbuffer, pos, mask, params, + &mb->literal_split, + &mb->command_split, + &mb->distance_split); + if (BROTLI_IS_OOM(m)) return; + + literal_context_modes = + BROTLI_ALLOC(m, ContextType, mb->literal_split.num_types); + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < mb->literal_split.num_types; ++i) { + literal_context_modes[i] = literal_context_mode; + } + + num_literal_contexts = + mb->literal_split.num_types << BROTLI_LITERAL_CONTEXT_BITS; + num_distance_contexts = + mb->distance_split.num_types << BROTLI_DISTANCE_CONTEXT_BITS; + literal_histograms = BROTLI_ALLOC(m, HistogramLiteral, num_literal_contexts); + if (BROTLI_IS_OOM(m)) return; + ClearHistogramsLiteral(literal_histograms, num_literal_contexts); + + assert(mb->command_histograms == 0); + mb->command_histograms_size = mb->command_split.num_types; + mb->command_histograms = + BROTLI_ALLOC(m, HistogramCommand, mb->command_histograms_size); + if (BROTLI_IS_OOM(m)) return; + ClearHistogramsCommand(mb->command_histograms, mb->command_histograms_size); + distance_histograms = + BROTLI_ALLOC(m, HistogramDistance, num_distance_contexts); + if (BROTLI_IS_OOM(m)) return; + ClearHistogramsDistance(distance_histograms, num_distance_contexts); + BrotliBuildHistogramsWithContext(cmds, num_commands, + &mb->literal_split, &mb->command_split, &mb->distance_split, + ringbuffer, pos, mask, prev_byte, prev_byte2, literal_context_modes, + literal_histograms, mb->command_histograms, distance_histograms); + BROTLI_FREE(m, literal_context_modes); + + assert(mb->literal_context_map == 0); + mb->literal_context_map_size = + mb->literal_split.num_types << BROTLI_LITERAL_CONTEXT_BITS; + mb->literal_context_map = + BROTLI_ALLOC(m, uint32_t, mb->literal_context_map_size); + if (BROTLI_IS_OOM(m)) return; + assert(mb->literal_histograms == 0); + mb->literal_histograms_size = mb->literal_context_map_size; + mb->literal_histograms = + BROTLI_ALLOC(m, HistogramLiteral, mb->literal_histograms_size); + if (BROTLI_IS_OOM(m)) return; + BrotliClusterHistogramsLiteral(m, literal_histograms, + mb->literal_context_map_size, + kMaxNumberOfHistograms, + mb->literal_histograms, + &mb->literal_histograms_size, + mb->literal_context_map); + if (BROTLI_IS_OOM(m)) return; + BROTLI_FREE(m, literal_histograms); + + assert(mb->distance_context_map == 0); + mb->distance_context_map_size = + mb->distance_split.num_types << BROTLI_DISTANCE_CONTEXT_BITS; + mb->distance_context_map = + BROTLI_ALLOC(m, uint32_t, mb->distance_context_map_size); + if (BROTLI_IS_OOM(m)) return; + assert(mb->distance_histograms == 0); + mb->distance_histograms_size = mb->distance_context_map_size; + mb->distance_histograms = + BROTLI_ALLOC(m, HistogramDistance, mb->distance_histograms_size); + if (BROTLI_IS_OOM(m)) return; + BrotliClusterHistogramsDistance(m, distance_histograms, + mb->distance_context_map_size, + kMaxNumberOfHistograms, + mb->distance_histograms, + &mb->distance_histograms_size, + mb->distance_context_map); + if (BROTLI_IS_OOM(m)) return; + BROTLI_FREE(m, distance_histograms); +} + +#define FN(X) X ## Literal +#include "./metablock_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Command +#include "./metablock_inc.h" /* NOLINT(build/include) */ +#undef FN + +#define FN(X) X ## Distance +#include "./metablock_inc.h" /* NOLINT(build/include) */ +#undef FN + +void BrotliBuildMetaBlockGreedy(MemoryManager* m, + const uint8_t* ringbuffer, + size_t pos, + size_t mask, + const Command *commands, + size_t n_commands, + MetaBlockSplit* mb) { + BlockSplitterLiteral lit_blocks; + BlockSplitterCommand cmd_blocks; + BlockSplitterDistance dist_blocks; + size_t num_literals = 0; + size_t i; + for (i = 0; i < n_commands; ++i) { + num_literals += commands[i].insert_len_; + } + + InitBlockSplitterLiteral(m, &lit_blocks, 256, 512, 400.0, num_literals, + &mb->literal_split, &mb->literal_histograms, + &mb->literal_histograms_size); + if (BROTLI_IS_OOM(m)) return; + InitBlockSplitterCommand(m, &cmd_blocks, BROTLI_NUM_COMMAND_SYMBOLS, 1024, + 500.0, n_commands, &mb->command_split, &mb->command_histograms, + &mb->command_histograms_size); + if (BROTLI_IS_OOM(m)) return; + InitBlockSplitterDistance(m, &dist_blocks, 64, 512, 100.0, n_commands, + &mb->distance_split, &mb->distance_histograms, + &mb->distance_histograms_size); + if (BROTLI_IS_OOM(m)) return; + + for (i = 0; i < n_commands; ++i) { + const Command cmd = commands[i]; + size_t j; + BlockSplitterAddSymbolCommand(&cmd_blocks, cmd.cmd_prefix_); + for (j = cmd.insert_len_; j != 0; --j) { + BlockSplitterAddSymbolLiteral(&lit_blocks, ringbuffer[pos & mask]); + ++pos; + } + pos += CommandCopyLen(&cmd); + if (CommandCopyLen(&cmd) && cmd.cmd_prefix_ >= 128) { + BlockSplitterAddSymbolDistance(&dist_blocks, cmd.dist_prefix_); + } + } + + BlockSplitterFinishBlockLiteral(&lit_blocks, /* is_final = */ BROTLI_TRUE); + BlockSplitterFinishBlockCommand(&cmd_blocks, /* is_final = */ BROTLI_TRUE); + BlockSplitterFinishBlockDistance(&dist_blocks, /* is_final = */ BROTLI_TRUE); +} + +/* Greedy block splitter for one block category (literal, command or distance). + Gathers histograms for all context buckets. */ +typedef struct ContextBlockSplitter { + /* Alphabet size of particular block category. */ + size_t alphabet_size_; + size_t num_contexts_; + size_t max_block_types_; + /* We collect at least this many symbols for each block. */ + size_t min_block_size_; + /* We merge histograms A and B if + entropy(A+B) < entropy(A) + entropy(B) + split_threshold_, + where A is the current histogram and B is the histogram of the last or the + second last block type. */ + double split_threshold_; + + size_t num_blocks_; + BlockSplit* split_; /* not owned */ + HistogramLiteral* histograms_; /* not owned */ + size_t* histograms_size_; /* not owned */ + + /* The number of symbols that we want to collect before deciding on whether + or not to merge the block with a previous one or emit a new block. */ + size_t target_block_size_; + /* The number of symbols in the current histogram. */ + size_t block_size_; + /* Offset of the current histogram. */ + size_t curr_histogram_ix_; + /* Offset of the histograms of the previous two block types. */ + size_t last_histogram_ix_[2]; + /* Entropy of the previous two block types. */ + double* last_entropy_; + /* The number of times we merged the current block with the last one. */ + size_t merge_last_count_; +} ContextBlockSplitter; + +static void InitContextBlockSplitter( + MemoryManager* m, ContextBlockSplitter* self, size_t alphabet_size, + size_t num_contexts, size_t min_block_size, double split_threshold, + size_t num_symbols, BlockSplit* split, HistogramLiteral** histograms, + size_t* histograms_size) { + size_t max_num_blocks = num_symbols / min_block_size + 1; + size_t max_num_types; + + self->alphabet_size_ = alphabet_size; + self->num_contexts_ = num_contexts; + self->max_block_types_ = BROTLI_MAX_NUMBER_OF_BLOCK_TYPES / num_contexts; + self->min_block_size_ = min_block_size; + self->split_threshold_ = split_threshold; + self->num_blocks_ = 0; + self->split_ = split; + self->histograms_size_ = histograms_size; + self->target_block_size_ = min_block_size; + self->block_size_ = 0; + self->curr_histogram_ix_ = 0; + self->merge_last_count_ = 0; + + /* We have to allocate one more histogram than the maximum number of block + types for the current histogram when the meta-block is too big. */ + max_num_types = + BROTLI_MIN(size_t, max_num_blocks, self->max_block_types_ + 1); + BROTLI_ENSURE_CAPACITY(m, uint8_t, + split->types, split->types_alloc_size, max_num_blocks); + BROTLI_ENSURE_CAPACITY(m, uint32_t, + split->lengths, split->lengths_alloc_size, max_num_blocks); + if (BROTLI_IS_OOM(m)) return; + split->num_blocks = max_num_blocks; + self->last_entropy_ = BROTLI_ALLOC(m, double, 2 * num_contexts); + if (BROTLI_IS_OOM(m)) return; + assert(*histograms == 0); + *histograms_size = max_num_types * num_contexts; + *histograms = BROTLI_ALLOC(m, HistogramLiteral, *histograms_size); + self->histograms_ = *histograms; + if (BROTLI_IS_OOM(m)) return; + /* Clear only current historgram. */ + ClearHistogramsLiteral(&self->histograms_[0], num_contexts); + self->last_histogram_ix_[0] = self->last_histogram_ix_[1] = 0; +} + +static void CleanupContextBlockSplitter( + MemoryManager* m, ContextBlockSplitter* self) { + BROTLI_FREE(m, self->last_entropy_); +} + +/* Does either of three things: + (1) emits the current block with a new block type; + (2) emits the current block with the type of the second last block; + (3) merges the current block with the last block. */ +static void ContextBlockSplitterFinishBlock( + MemoryManager* m, ContextBlockSplitter* self, BROTLI_BOOL is_final) { + BlockSplit* split = self->split_; + const size_t num_contexts = self->num_contexts_; + double* last_entropy = self->last_entropy_; + HistogramLiteral* histograms = self->histograms_; + + if (self->block_size_ < self->min_block_size_) { + self->block_size_ = self->min_block_size_; + } + if (self->num_blocks_ == 0) { + size_t i; + /* Create first block. */ + split->lengths[0] = (uint32_t)self->block_size_; + split->types[0] = 0; + + for (i = 0; i < num_contexts; ++i) { + last_entropy[i] = + BitsEntropy(histograms[i].data_, self->alphabet_size_); + last_entropy[num_contexts + i] = last_entropy[i]; + } + ++self->num_blocks_; + ++split->num_types; + self->curr_histogram_ix_ += num_contexts; + if (self->curr_histogram_ix_ < *self->histograms_size_) { + ClearHistogramsLiteral( + &self->histograms_[self->curr_histogram_ix_], self->num_contexts_); + } + self->block_size_ = 0; + } else if (self->block_size_ > 0) { + /* Try merging the set of histograms for the current block type with the + respective set of histograms for the last and second last block types. + Decide over the split based on the total reduction of entropy across + all contexts. */ + double* entropy = BROTLI_ALLOC(m, double, num_contexts); + HistogramLiteral* combined_histo = + BROTLI_ALLOC(m, HistogramLiteral, 2 * num_contexts); + double* combined_entropy = BROTLI_ALLOC(m, double, 2 * num_contexts); + double diff[2] = { 0.0 }; + size_t i; + if (BROTLI_IS_OOM(m)) return; + for (i = 0; i < num_contexts; ++i) { + size_t curr_histo_ix = self->curr_histogram_ix_ + i; + size_t j; + entropy[i] = BitsEntropy(histograms[curr_histo_ix].data_, + self->alphabet_size_); + for (j = 0; j < 2; ++j) { + size_t jx = j * num_contexts + i; + size_t last_histogram_ix = self->last_histogram_ix_[j] + i; + combined_histo[jx] = histograms[curr_histo_ix]; + HistogramAddHistogramLiteral(&combined_histo[jx], + &histograms[last_histogram_ix]); + combined_entropy[jx] = BitsEntropy( + &combined_histo[jx].data_[0], self->alphabet_size_); + diff[j] += combined_entropy[jx] - entropy[i] - last_entropy[jx]; + } + } + + if (split->num_types < self->max_block_types_ && + diff[0] > self->split_threshold_ && + diff[1] > self->split_threshold_) { + /* Create new block. */ + split->lengths[self->num_blocks_] = (uint32_t)self->block_size_; + split->types[self->num_blocks_] = (uint8_t)split->num_types; + self->last_histogram_ix_[1] = self->last_histogram_ix_[0]; + self->last_histogram_ix_[0] = split->num_types * num_contexts; + for (i = 0; i < num_contexts; ++i) { + last_entropy[num_contexts + i] = last_entropy[i]; + last_entropy[i] = entropy[i]; + } + ++self->num_blocks_; + ++split->num_types; + self->curr_histogram_ix_ += num_contexts; + if (self->curr_histogram_ix_ < *self->histograms_size_) { + ClearHistogramsLiteral( + &self->histograms_[self->curr_histogram_ix_], self->num_contexts_); + } + self->block_size_ = 0; + self->merge_last_count_ = 0; + self->target_block_size_ = self->min_block_size_; + } else if (diff[1] < diff[0] - 20.0) { + /* Combine this block with second last block. */ + split->lengths[self->num_blocks_] = (uint32_t)self->block_size_; + split->types[self->num_blocks_] = split->types[self->num_blocks_ - 2]; + BROTLI_SWAP(size_t, self->last_histogram_ix_, 0, 1); + for (i = 0; i < num_contexts; ++i) { + histograms[self->last_histogram_ix_[0] + i] = + combined_histo[num_contexts + i]; + last_entropy[num_contexts + i] = last_entropy[i]; + last_entropy[i] = combined_entropy[num_contexts + i]; + HistogramClearLiteral(&histograms[self->curr_histogram_ix_ + i]); + } + ++self->num_blocks_; + self->block_size_ = 0; + self->merge_last_count_ = 0; + self->target_block_size_ = self->min_block_size_; + } else { + /* Combine this block with last block. */ + split->lengths[self->num_blocks_ - 1] += (uint32_t)self->block_size_; + for (i = 0; i < num_contexts; ++i) { + histograms[self->last_histogram_ix_[0] + i] = combined_histo[i]; + last_entropy[i] = combined_entropy[i]; + if (split->num_types == 1) { + last_entropy[num_contexts + i] = last_entropy[i]; + } + HistogramClearLiteral(&histograms[self->curr_histogram_ix_ + i]); + } + self->block_size_ = 0; + if (++self->merge_last_count_ > 1) { + self->target_block_size_ += self->min_block_size_; + } + } + BROTLI_FREE(m, combined_entropy); + BROTLI_FREE(m, combined_histo); + BROTLI_FREE(m, entropy); + } + if (is_final) { + *self->histograms_size_ = split->num_types * num_contexts; + split->num_blocks = self->num_blocks_; + } +} + +/* Adds the next symbol to the current block type and context. When the + current block reaches the target size, decides on merging the block. */ +static void ContextBlockSplitterAddSymbol(MemoryManager* m, + ContextBlockSplitter* self, size_t symbol, size_t context) { + HistogramAddLiteral(&self->histograms_[self->curr_histogram_ix_ + context], + symbol); + ++self->block_size_; + if (self->block_size_ == self->target_block_size_) { + ContextBlockSplitterFinishBlock(m, self, /* is_final = */ BROTLI_FALSE); + if (BROTLI_IS_OOM(m)) return; + } +} + +void BrotliBuildMetaBlockGreedyWithContexts(MemoryManager* m, + const uint8_t* ringbuffer, + size_t pos, + size_t mask, + uint8_t prev_byte, + uint8_t prev_byte2, + ContextType literal_context_mode, + size_t num_contexts, + const uint32_t* static_context_map, + const Command *commands, + size_t n_commands, + MetaBlockSplit* mb) { + ContextBlockSplitter lit_blocks; + BlockSplitterCommand cmd_blocks; + BlockSplitterDistance dist_blocks; + size_t num_literals = 0; + size_t i; + for (i = 0; i < n_commands; ++i) { + num_literals += commands[i].insert_len_; + } + + InitContextBlockSplitter(m, &lit_blocks, 256, num_contexts, 512, 400.0, + num_literals, &mb->literal_split, &mb->literal_histograms, + &mb->literal_histograms_size); + if (BROTLI_IS_OOM(m)) return; + InitBlockSplitterCommand(m, &cmd_blocks, BROTLI_NUM_COMMAND_SYMBOLS, 1024, + 500.0, n_commands, &mb->command_split, &mb->command_histograms, + &mb->command_histograms_size); + if (BROTLI_IS_OOM(m)) return; + InitBlockSplitterDistance(m, &dist_blocks, 64, 512, 100.0, n_commands, + &mb->distance_split, &mb->distance_histograms, + &mb->distance_histograms_size); + if (BROTLI_IS_OOM(m)) return; + + for (i = 0; i < n_commands; ++i) { + const Command cmd = commands[i]; + size_t j; + BlockSplitterAddSymbolCommand(&cmd_blocks, cmd.cmd_prefix_); + for (j = cmd.insert_len_; j != 0; --j) { + size_t context = Context(prev_byte, prev_byte2, literal_context_mode); + uint8_t literal = ringbuffer[pos & mask]; + ContextBlockSplitterAddSymbol( + m, &lit_blocks, literal, static_context_map[context]); + prev_byte2 = prev_byte; + if (BROTLI_IS_OOM(m)) return; + prev_byte = literal; + ++pos; + } + pos += CommandCopyLen(&cmd); + if (CommandCopyLen(&cmd)) { + prev_byte2 = ringbuffer[(pos - 2) & mask]; + prev_byte = ringbuffer[(pos - 1) & mask]; + if (cmd.cmd_prefix_ >= 128) { + BlockSplitterAddSymbolDistance(&dist_blocks, cmd.dist_prefix_); + } + } + } + + ContextBlockSplitterFinishBlock(m, &lit_blocks, /* is_final = */ BROTLI_TRUE); + if (BROTLI_IS_OOM(m)) return; + CleanupContextBlockSplitter(m, &lit_blocks); + BlockSplitterFinishBlockCommand(&cmd_blocks, /* is_final = */ BROTLI_TRUE); + BlockSplitterFinishBlockDistance(&dist_blocks, /* is_final = */ BROTLI_TRUE); + + assert(mb->literal_context_map == 0); + mb->literal_context_map_size = + mb->literal_split.num_types << BROTLI_LITERAL_CONTEXT_BITS; + mb->literal_context_map = + BROTLI_ALLOC(m, uint32_t, mb->literal_context_map_size); + if (BROTLI_IS_OOM(m)) return; + + for (i = 0; i < mb->literal_split.num_types; ++i) { + size_t j; + for (j = 0; j < (1u << BROTLI_LITERAL_CONTEXT_BITS); ++j) { + mb->literal_context_map[(i << BROTLI_LITERAL_CONTEXT_BITS) + j] = + (uint32_t)(i * num_contexts) + static_context_map[j]; + } + } +} + +void BrotliOptimizeHistograms(size_t num_direct_distance_codes, + size_t distance_postfix_bits, + MetaBlockSplit* mb) { + uint8_t good_for_rle[BROTLI_NUM_COMMAND_SYMBOLS]; + size_t num_distance_codes; + size_t i; + for (i = 0; i < mb->literal_histograms_size; ++i) { + BrotliOptimizeHuffmanCountsForRle(256, mb->literal_histograms[i].data_, + good_for_rle); + } + for (i = 0; i < mb->command_histograms_size; ++i) { + BrotliOptimizeHuffmanCountsForRle(BROTLI_NUM_COMMAND_SYMBOLS, + mb->command_histograms[i].data_, + good_for_rle); + } + num_distance_codes = BROTLI_NUM_DISTANCE_SHORT_CODES + + num_direct_distance_codes + (48u << distance_postfix_bits); + for (i = 0; i < mb->distance_histograms_size; ++i) { + BrotliOptimizeHuffmanCountsForRle(num_distance_codes, + mb->distance_histograms[i].data_, + good_for_rle); + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/metablock.h b/BaseTools/Source/C/BrotliCompress/enc/metablock.h new file mode 100644 index 000000000000..e10c9992816e --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/metablock.h @@ -0,0 +1,110 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Algorithms for distributing the literals and commands of a metablock between + block types and contexts. */ + +#ifndef BROTLI_ENC_METABLOCK_H_ +#define BROTLI_ENC_METABLOCK_H_ + +#include "../common/types.h" +#include "./block_splitter.h" +#include "./command.h" +#include "./context.h" +#include "./histogram.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef struct MetaBlockSplit { + BlockSplit literal_split; + BlockSplit command_split; + BlockSplit distance_split; + uint32_t* literal_context_map; + size_t literal_context_map_size; + uint32_t* distance_context_map; + size_t distance_context_map_size; + HistogramLiteral* literal_histograms; + size_t literal_histograms_size; + HistogramCommand* command_histograms; + size_t command_histograms_size; + HistogramDistance* distance_histograms; + size_t distance_histograms_size; +} MetaBlockSplit; + +static BROTLI_INLINE void InitMetaBlockSplit(MetaBlockSplit* mb) { + BrotliInitBlockSplit(&mb->literal_split); + BrotliInitBlockSplit(&mb->command_split); + BrotliInitBlockSplit(&mb->distance_split); + mb->literal_context_map = 0; + mb->literal_context_map_size = 0; + mb->distance_context_map = 0; + mb->distance_context_map_size = 0; + mb->literal_histograms = 0; + mb->literal_histograms_size = 0; + mb->command_histograms = 0; + mb->command_histograms_size = 0; + mb->distance_histograms = 0; + mb->distance_histograms_size = 0; +} + +static BROTLI_INLINE void DestroyMetaBlockSplit( + MemoryManager* m, MetaBlockSplit* mb) { + BrotliDestroyBlockSplit(m, &mb->literal_split); + BrotliDestroyBlockSplit(m, &mb->command_split); + BrotliDestroyBlockSplit(m, &mb->distance_split); + BROTLI_FREE(m, mb->literal_context_map); + BROTLI_FREE(m, mb->distance_context_map); + BROTLI_FREE(m, mb->literal_histograms); + BROTLI_FREE(m, mb->command_histograms); + BROTLI_FREE(m, mb->distance_histograms); +} + +/* Uses the slow shortest-path block splitter and does context clustering. */ +BROTLI_INTERNAL void BrotliBuildMetaBlock(MemoryManager* m, + const uint8_t* ringbuffer, + const size_t pos, + const size_t mask, + const BrotliEncoderParams* params, + uint8_t prev_byte, + uint8_t prev_byte2, + const Command* cmds, + size_t num_commands, + ContextType literal_context_mode, + MetaBlockSplit* mb); + +/* Uses a fast greedy block splitter that tries to merge current block with the + last or the second last block and does not do any context modeling. */ +BROTLI_INTERNAL void BrotliBuildMetaBlockGreedy(MemoryManager* m, + const uint8_t* ringbuffer, + size_t pos, + size_t mask, + const Command* commands, + size_t n_commands, + MetaBlockSplit* mb); + +/* Uses a fast greedy block splitter that tries to merge current block with the + last or the second last block and uses a static context clustering which + is the same for all block types. */ +BROTLI_INTERNAL void BrotliBuildMetaBlockGreedyWithContexts( + MemoryManager* m, const uint8_t* ringbuffer, size_t pos, size_t mask, + uint8_t prev_byte, uint8_t prev_byte2, ContextType literal_context_mode, + size_t num_contexts, const uint32_t* static_context_map, + const Command* commands, size_t n_commands, MetaBlockSplit* mb); + +BROTLI_INTERNAL void BrotliOptimizeHistograms(size_t num_direct_distance_codes, + size_t distance_postfix_bits, + MetaBlockSplit* mb); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_METABLOCK_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h b/BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h new file mode 100644 index 000000000000..e5612697e555 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h @@ -0,0 +1,183 @@ +/* NOLINT(build/header_guard) */ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* template parameters: FN */ + +#define HistogramType FN(Histogram) + +/* Greedy block splitter for one block category (literal, command or distance). +*/ +typedef struct FN(BlockSplitter) { + /* Alphabet size of particular block category. */ + size_t alphabet_size_; + /* We collect at least this many symbols for each block. */ + size_t min_block_size_; + /* We merge histograms A and B if + entropy(A+B) < entropy(A) + entropy(B) + split_threshold_, + where A is the current histogram and B is the histogram of the last or the + second last block type. */ + double split_threshold_; + + size_t num_blocks_; + BlockSplit* split_; /* not owned */ + HistogramType* histograms_; /* not owned */ + size_t* histograms_size_; /* not owned */ + + /* The number of symbols that we want to collect before deciding on whether + or not to merge the block with a previous one or emit a new block. */ + size_t target_block_size_; + /* The number of symbols in the current histogram. */ + size_t block_size_; + /* Offset of the current histogram. */ + size_t curr_histogram_ix_; + /* Offset of the histograms of the previous two block types. */ + size_t last_histogram_ix_[2]; + /* Entropy of the previous two block types. */ + double last_entropy_[2]; + /* The number of times we merged the current block with the last one. */ + size_t merge_last_count_; +} FN(BlockSplitter); + +static void FN(InitBlockSplitter)( + MemoryManager* m, FN(BlockSplitter)* self, size_t alphabet_size, + size_t min_block_size, double split_threshold, size_t num_symbols, + BlockSplit* split, HistogramType** histograms, size_t* histograms_size) { + size_t max_num_blocks = num_symbols / min_block_size + 1; + /* We have to allocate one more histogram than the maximum number of block + types for the current histogram when the meta-block is too big. */ + size_t max_num_types = + BROTLI_MIN(size_t, max_num_blocks, BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + 1); + self->alphabet_size_ = alphabet_size; + self->min_block_size_ = min_block_size; + self->split_threshold_ = split_threshold; + self->num_blocks_ = 0; + self->split_ = split; + self->histograms_size_ = histograms_size; + self->target_block_size_ = min_block_size; + self->block_size_ = 0; + self->curr_histogram_ix_ = 0; + self->merge_last_count_ = 0; + BROTLI_ENSURE_CAPACITY(m, uint8_t, + split->types, split->types_alloc_size, max_num_blocks); + BROTLI_ENSURE_CAPACITY(m, uint32_t, + split->lengths, split->lengths_alloc_size, max_num_blocks); + if (BROTLI_IS_OOM(m)) return; + self->split_->num_blocks = max_num_blocks; + assert(*histograms == 0); + *histograms_size = max_num_types; + *histograms = BROTLI_ALLOC(m, HistogramType, *histograms_size); + self->histograms_ = *histograms; + if (BROTLI_IS_OOM(m)) return; + /* Clear only current histogram. */ + FN(HistogramClear)(&self->histograms_[0]); + self->last_histogram_ix_[0] = self->last_histogram_ix_[1] = 0; +} + +/* Does either of three things: + (1) emits the current block with a new block type; + (2) emits the current block with the type of the second last block; + (3) merges the current block with the last block. */ +static void FN(BlockSplitterFinishBlock)( + FN(BlockSplitter)* self, BROTLI_BOOL is_final) { + BlockSplit* split = self->split_; + double* last_entropy = self->last_entropy_; + HistogramType* histograms = self->histograms_; + self->block_size_ = + BROTLI_MAX(size_t, self->block_size_, self->min_block_size_); + if (self->num_blocks_ == 0) { + /* Create first block. */ + split->lengths[0] = (uint32_t)self->block_size_; + split->types[0] = 0; + last_entropy[0] = + BitsEntropy(histograms[0].data_, self->alphabet_size_); + last_entropy[1] = last_entropy[0]; + ++self->num_blocks_; + ++split->num_types; + ++self->curr_histogram_ix_; + if (self->curr_histogram_ix_ < *self->histograms_size_) + FN(HistogramClear)(&histograms[self->curr_histogram_ix_]); + self->block_size_ = 0; + } else if (self->block_size_ > 0) { + double entropy = BitsEntropy(histograms[self->curr_histogram_ix_].data_, + self->alphabet_size_); + HistogramType combined_histo[2]; + double combined_entropy[2]; + double diff[2]; + size_t j; + for (j = 0; j < 2; ++j) { + size_t last_histogram_ix = self->last_histogram_ix_[j]; + combined_histo[j] = histograms[self->curr_histogram_ix_]; + FN(HistogramAddHistogram)(&combined_histo[j], + &histograms[last_histogram_ix]); + combined_entropy[j] = BitsEntropy( + &combined_histo[j].data_[0], self->alphabet_size_); + diff[j] = combined_entropy[j] - entropy - last_entropy[j]; + } + + if (split->num_types < BROTLI_MAX_NUMBER_OF_BLOCK_TYPES && + diff[0] > self->split_threshold_ && + diff[1] > self->split_threshold_) { + /* Create new block. */ + split->lengths[self->num_blocks_] = (uint32_t)self->block_size_; + split->types[self->num_blocks_] = (uint8_t)split->num_types; + self->last_histogram_ix_[1] = self->last_histogram_ix_[0]; + self->last_histogram_ix_[0] = (uint8_t)split->num_types; + last_entropy[1] = last_entropy[0]; + last_entropy[0] = entropy; + ++self->num_blocks_; + ++split->num_types; + ++self->curr_histogram_ix_; + if (self->curr_histogram_ix_ < *self->histograms_size_) + FN(HistogramClear)(&histograms[self->curr_histogram_ix_]); + self->block_size_ = 0; + self->merge_last_count_ = 0; + self->target_block_size_ = self->min_block_size_; + } else if (diff[1] < diff[0] - 20.0) { + /* Combine this block with second last block. */ + split->lengths[self->num_blocks_] = (uint32_t)self->block_size_; + split->types[self->num_blocks_] = split->types[self->num_blocks_ - 2]; + BROTLI_SWAP(size_t, self->last_histogram_ix_, 0, 1); + histograms[self->last_histogram_ix_[0]] = combined_histo[1]; + last_entropy[1] = last_entropy[0]; + last_entropy[0] = combined_entropy[1]; + ++self->num_blocks_; + self->block_size_ = 0; + FN(HistogramClear)(&histograms[self->curr_histogram_ix_]); + self->merge_last_count_ = 0; + self->target_block_size_ = self->min_block_size_; + } else { + /* Combine this block with last block. */ + split->lengths[self->num_blocks_ - 1] += (uint32_t)self->block_size_; + histograms[self->last_histogram_ix_[0]] = combined_histo[0]; + last_entropy[0] = combined_entropy[0]; + if (split->num_types == 1) { + last_entropy[1] = last_entropy[0]; + } + self->block_size_ = 0; + FN(HistogramClear)(&histograms[self->curr_histogram_ix_]); + if (++self->merge_last_count_ > 1) { + self->target_block_size_ += self->min_block_size_; + } + } + } + if (is_final) { + *self->histograms_size_ = split->num_types; + split->num_blocks = self->num_blocks_; + } +} + +/* Adds the next symbol to the current histogram. When the current histogram + reaches the target size, decides on merging the block. */ +static void FN(BlockSplitterAddSymbol)(FN(BlockSplitter)* self, size_t symbol) { + FN(HistogramAdd)(&self->histograms_[self->curr_histogram_ix_], symbol); + ++self->block_size_; + if (self->block_size_ == self->target_block_size_) { + FN(BlockSplitterFinishBlock)(self, /* is_final = */ BROTLI_FALSE); + } +} + +#undef HistogramType diff --git a/BaseTools/Source/C/BrotliCompress/enc/port.h b/BaseTools/Source/C/BrotliCompress/enc/port.h new file mode 100644 index 000000000000..ef5f54ade4c2 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/port.h @@ -0,0 +1,168 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Macros for endianness, branch prediction and unaligned loads and stores. */ + +#ifndef BROTLI_ENC_PORT_H_ +#define BROTLI_ENC_PORT_H_ + +#include +#include /* memcpy */ + +#include "../common/port.h" +#include "../common/types.h" + +#if defined OS_LINUX || defined OS_CYGWIN +#include +#elif defined OS_FREEBSD +#include +#elif defined OS_MACOSX +#include +/* Let's try and follow the Linux convention */ +#define __BYTE_ORDER BYTE_ORDER +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#endif + +/* define the macro IS_LITTLE_ENDIAN + using the above endian definitions from endian.h if + endian.h was included */ +#ifdef __BYTE_ORDER +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define IS_LITTLE_ENDIAN +#endif + +#else + +#if defined(__LITTLE_ENDIAN__) +#define IS_LITTLE_ENDIAN +#endif +#endif /* __BYTE_ORDER */ + +#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +#define IS_LITTLE_ENDIAN +#endif + +/* Enable little-endian optimization for x64 architecture on Windows. */ +#if (defined(_WIN32) || defined(_WIN64)) && defined(_M_X64) +#define IS_LITTLE_ENDIAN +#endif + +/* Portable handling of unaligned loads, stores, and copies. + On some platforms, like ARM, the copy functions can be more efficient + then a load and a store. */ + +#if defined(ARCH_PIII) || \ + defined(ARCH_ATHLON) || defined(ARCH_K8) || defined(_ARCH_PPC) + +/* x86 and x86-64 can perform unaligned loads/stores directly; + modern PowerPC hardware can also do unaligned integer loads and stores; + but note: the FPU still sends unaligned loads and stores to a trap handler! +*/ + +#define BROTLI_UNALIGNED_LOAD32(_p) (*(const uint32_t *)(_p)) +#define BROTLI_UNALIGNED_LOAD64(_p) (*(const uint64_t *)(_p)) + +#define BROTLI_UNALIGNED_STORE32(_p, _val) \ + (*(uint32_t *)(_p) = (_val)) +#define BROTLI_UNALIGNED_STORE64(_p, _val) \ + (*(uint64_t *)(_p) = (_val)) + +#elif defined(__arm__) && \ + !defined(__ARM_ARCH_5__) && \ + !defined(__ARM_ARCH_5T__) && \ + !defined(__ARM_ARCH_5TE__) && \ + !defined(__ARM_ARCH_5TEJ__) && \ + !defined(__ARM_ARCH_6__) && \ + !defined(__ARM_ARCH_6J__) && \ + !defined(__ARM_ARCH_6K__) && \ + !defined(__ARM_ARCH_6Z__) && \ + !defined(__ARM_ARCH_6ZK__) && \ + !defined(__ARM_ARCH_6T2__) + +/* ARMv7 and newer support native unaligned accesses, but only of 16-bit + and 32-bit values (not 64-bit); older versions either raise a fatal signal, + do an unaligned read and rotate the words around a bit, or do the reads very + slowly (trip through kernel mode). */ + +#define BROTLI_UNALIGNED_LOAD32(_p) (*(const uint32_t *)(_p)) +#define BROTLI_UNALIGNED_STORE32(_p, _val) \ + (*(uint32_t *)(_p) = (_val)) + +static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64(const void *p) { + uint64_t t; + memcpy(&t, p, sizeof t); + return t; +} + +static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64(void *p, uint64_t v) { + memcpy(p, &v, sizeof v); +} + +#else + +/* These functions are provided for architectures that don't support */ +/* unaligned loads and stores. */ + +static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32(const void *p) { + uint32_t t; + memcpy(&t, p, sizeof t); + return t; +} + +static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64(const void *p) { + uint64_t t; + memcpy(&t, p, sizeof t); + return t; +} + +static BROTLI_INLINE void BROTLI_UNALIGNED_STORE32(void *p, uint32_t v) { + memcpy(p, &v, sizeof v); +} + +static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64(void *p, uint64_t v) { + memcpy(p, &v, sizeof v); +} + +#endif + +#if !defined(__cplusplus) && !defined(c_plusplus) && __STDC_VERSION__ >= 199901L +#define BROTLI_RESTRICT restrict +#elif BROTLI_GCC_VERSION > 295 || defined(__llvm__) +#define BROTLI_RESTRICT __restrict +#else +#define BROTLI_RESTRICT +#endif + +#define _TEMPLATE(T) \ + static BROTLI_INLINE T brotli_min_ ## T (T a, T b) { return a < b ? a : b; } \ + static BROTLI_INLINE T brotli_max_ ## T (T a, T b) { return a > b ? a : b; } +_TEMPLATE(double) _TEMPLATE(float) _TEMPLATE(int) +_TEMPLATE(size_t) _TEMPLATE(uint32_t) _TEMPLATE(uint8_t) +#undef _TEMPLATE +#define BROTLI_MIN(T, A, B) (brotli_min_ ## T((A), (B))) +#define BROTLI_MAX(T, A, B) (brotli_max_ ## T((A), (B))) + +#define BROTLI_SWAP(T, A, I, J) { \ + T __brotli_swap_tmp = (A)[(I)]; \ + (A)[(I)] = (A)[(J)]; \ + (A)[(J)] = __brotli_swap_tmp; \ +} + +#define BROTLI_ENSURE_CAPACITY(M, T, A, C, R) { \ + if (C < (R)) { \ + size_t _new_size = (C == 0) ? (R) : C; \ + T* new_array; \ + while (_new_size < (R)) _new_size *= 2; \ + new_array = BROTLI_ALLOC((M), T, _new_size); \ + if (!BROTLI_IS_OOM(m) && C != 0) \ + memcpy(new_array, A, C * sizeof(T)); \ + BROTLI_FREE((M), A); \ + A = new_array; \ + C = _new_size; \ + } \ +} + +#endif /* BROTLI_ENC_PORT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/prefix.h b/BaseTools/Source/C/BrotliCompress/enc/prefix.h new file mode 100644 index 000000000000..850c21e54bc1 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/prefix.h @@ -0,0 +1,52 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions for encoding of integers into prefix codes the amount of extra + bits, and the actual values of the extra bits. */ + +#ifndef BROTLI_ENC_PREFIX_H_ +#define BROTLI_ENC_PREFIX_H_ + +#include "../common/constants.h" +#include "../common/port.h" +#include "../common/types.h" +#include "./fast_log.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static BROTLI_INLINE void PrefixEncodeCopyDistance(size_t distance_code, + size_t num_direct_codes, + size_t postfix_bits, + uint16_t* code, + uint32_t* extra_bits) { + if (distance_code < BROTLI_NUM_DISTANCE_SHORT_CODES + num_direct_codes) { + *code = (uint16_t)distance_code; + *extra_bits = 0; + return; + } else { + size_t dist = ((size_t)1 << (postfix_bits + 2u)) + + (distance_code - BROTLI_NUM_DISTANCE_SHORT_CODES - num_direct_codes); + size_t bucket = Log2FloorNonZero(dist) - 1; + size_t postfix_mask = (1u << postfix_bits) - 1; + size_t postfix = dist & postfix_mask; + size_t prefix = (dist >> bucket) & 1; + size_t offset = (2 + prefix) << bucket; + size_t nbits = bucket - postfix_bits; + *code = (uint16_t)( + (BROTLI_NUM_DISTANCE_SHORT_CODES + num_direct_codes + + ((2 * (nbits - 1) + prefix) << postfix_bits) + postfix)); + *extra_bits = (uint32_t)( + (nbits << 24) | ((dist - offset) >> postfix_bits)); + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_PREFIX_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/quality.h b/BaseTools/Source/C/BrotliCompress/enc/quality.h new file mode 100644 index 000000000000..a4969ad85e82 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/quality.h @@ -0,0 +1,130 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Constants and formulas that affect speed-ratio trade-offs and thus define + quality levels. */ + +#ifndef BROTLI_ENC_QUALITY_H_ +#define BROTLI_ENC_QUALITY_H_ + +#include "./encode.h" + +#define FAST_ONE_PASS_COMPRESSION_QUALITY 0 +#define FAST_TWO_PASS_COMPRESSION_QUALITY 1 +#define ZOPFLIFICATION_QUALITY 10 +#define HQ_ZOPFLIFICATION_QUALITY 11 + +#define MAX_QUALITY_FOR_STATIC_ENRTOPY_CODES 2 +#define MIN_QUALITY_FOR_BLOCK_SPLIT 4 +#define MIN_QUALITY_FOR_OPTIMIZE_HISTOGRAMS 4 +#define MIN_QUALITY_FOR_EXTENSIVE_REFERENCE_SEARCH 5 +#define MIN_QUALITY_FOR_CONTEXT_MODELING 5 +#define MIN_QUALITY_FOR_HQ_CONTEXT_MODELING 7 +#define MIN_QUALITY_FOR_HQ_BLOCK_SPLITTING 10 +/* Only for "font" mode. */ +#define MIN_QUALITY_FOR_RECOMPUTE_DISTANCE_PREFIXES 10 + +/* For quality below MIN_QUALITY_FOR_BLOCK_SPLIT there is no block splitting, + so we buffer at most this much literals and commands. */ +#define MAX_NUM_DELAYED_SYMBOLS 0x2fff + +/* Encoding parameters */ +typedef struct BrotliEncoderParams { + BrotliEncoderMode mode; + int quality; + int lgwin; + int lgblock; +} BrotliEncoderParams; + +/* Returns hashtable size for quality levels 0 and 1. */ +static BROTLI_INLINE size_t MaxHashTableSize(int quality) { + return quality == FAST_ONE_PASS_COMPRESSION_QUALITY ? 1 << 15 : 1 << 17; +} + +/* The maximum length for which the zopflification uses distinct distances. */ +#define MAX_ZOPFLI_LEN_QUALITY_10 150 +#define MAX_ZOPFLI_LEN_QUALITY_11 325 + +static BROTLI_INLINE size_t MaxZopfliLen(const BrotliEncoderParams* params) { + return params->quality <= 10 ? + MAX_ZOPFLI_LEN_QUALITY_10 : + MAX_ZOPFLI_LEN_QUALITY_11; +} + +/* Number of best candidates to evaluate to expand zopfli chain. */ +static BROTLI_INLINE size_t MaxZopfliCandidates( + const BrotliEncoderParams* params) { + return params->quality <= 10 ? 1 : 5; +} + +static BROTLI_INLINE void SanitizeParams(BrotliEncoderParams* params) { + params->quality = BROTLI_MIN(int, BROTLI_MAX_QUALITY, + BROTLI_MAX(int, BROTLI_MIN_QUALITY, params->quality)); + if (params->lgwin < kBrotliMinWindowBits) { + params->lgwin = kBrotliMinWindowBits; + } else if (params->lgwin > kBrotliMaxWindowBits) { + params->lgwin = kBrotliMaxWindowBits; + } +} + +/* Returns optimized lg_block value. */ +static BROTLI_INLINE int ComputeLgBlock(const BrotliEncoderParams* params) { + int lgblock = params->lgblock; + if (params->quality == FAST_ONE_PASS_COMPRESSION_QUALITY || + params->quality == FAST_TWO_PASS_COMPRESSION_QUALITY) { + lgblock = params->lgwin; + } else if (params->quality < MIN_QUALITY_FOR_BLOCK_SPLIT) { + lgblock = 14; + } else if (lgblock == 0) { + lgblock = 16; + if (params->quality >= 9 && params->lgwin > lgblock) { + lgblock = BROTLI_MIN(int, 18, params->lgwin); + } + } else { + lgblock = BROTLI_MIN(int, kBrotliMaxInputBlockBits, + BROTLI_MAX(int, kBrotliMinInputBlockBits, lgblock)); + } + return lgblock; +} + +/* Returns log2 of the size of main ring buffer area. + Allocate at least lgwin + 1 bits for the ring buffer so that the newly + added block fits there completely and we still get lgwin bits and at least + read_block_size_bits + 1 bits because the copy tail length needs to be + smaller than ringbuffer size. */ +static BROTLI_INLINE int ComputeRbBits(const BrotliEncoderParams* params) { + return 1 + BROTLI_MAX(int, params->lgwin, params->lgblock); +} + +static BROTLI_INLINE size_t MaxMetablockSize( + const BrotliEncoderParams* params) { + int bits = BROTLI_MIN(int, ComputeRbBits(params), kBrotliMaxInputBlockBits); + return (size_t)1 << bits; +} + +/* When searching for backward references and have not seen matches for a long + time, we can skip some match lookups. Unsuccessful match lookups are very + expensive and this kind of a heuristic speeds up compression quite a lot. + At first 8 byte strides are taken and every second byte is put to hasher. + After 4x more literals stride by 16 bytes, every put 4-th byte to hasher. + Applied only to qualities 2 to 9. */ +static BROTLI_INLINE size_t LiteralSpreeLengthForSparseSearch( + const BrotliEncoderParams* params) { + return params->quality < 9 ? 64 : 512; +} + +static BROTLI_INLINE int ChooseHasher(const BrotliEncoderParams* params) { + if (params->quality > 9) { + return 10; + } else if (params->quality < 5) { + return params->quality; + } else if (params->lgwin <= 16) { + return params->quality < 7 ? 40 : params->quality < 9 ? 41 : 42; + } + return params->quality; +} + +#endif /* BROTLI_ENC_QUALITY_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h b/BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h new file mode 100644 index 000000000000..bf231fa94c7b --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h @@ -0,0 +1,160 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Sliding window over the input data. */ + +#ifndef BROTLI_ENC_RINGBUFFER_H_ +#define BROTLI_ENC_RINGBUFFER_H_ + +#include /* memcpy */ + +#include "../common/types.h" +#include "./memory.h" +#include "./port.h" +#include "./quality.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* A RingBuffer(window_bits, tail_bits) contains `1 << window_bits' bytes of + data in a circular manner: writing a byte writes it to: + `position() % (1 << window_bits)'. + For convenience, the RingBuffer array contains another copy of the + first `1 << tail_bits' bytes: + buffer_[i] == buffer_[i + (1 << window_bits)], if i < (1 << tail_bits), + and another copy of the last two bytes: + buffer_[-1] == buffer_[(1 << window_bits) - 1] and + buffer_[-2] == buffer_[(1 << window_bits) - 2]. */ +typedef struct RingBuffer { + /* Size of the ringbuffer is (1 << window_bits) + tail_size_. */ + const uint32_t size_; + const uint32_t mask_; + const uint32_t tail_size_; + const uint32_t total_size_; + + uint32_t cur_size_; + /* Position to write in the ring buffer. */ + uint32_t pos_; + /* The actual ring buffer containing the copy of the last two bytes, the data, + and the copy of the beginning as a tail. */ + uint8_t *data_; + /* The start of the ringbuffer. */ + uint8_t *buffer_; +} RingBuffer; + +static BROTLI_INLINE void RingBufferInit(RingBuffer* rb) { + rb->cur_size_ = 0; + rb->pos_ = 0; + rb->data_ = 0; + rb->buffer_ = 0; +} + +static BROTLI_INLINE void RingBufferSetup( + const BrotliEncoderParams* params, RingBuffer* rb) { + int window_bits = ComputeRbBits(params); + int tail_bits = params->lgblock; + *(uint32_t*)&rb->size_ = 1u << window_bits; + *(uint32_t*)&rb->mask_ = (1u << window_bits) - 1; + *(uint32_t*)&rb->tail_size_ = 1u << tail_bits; + *(uint32_t*)&rb->total_size_ = rb->size_ + rb->tail_size_; +} + +static BROTLI_INLINE void RingBufferFree(MemoryManager* m, RingBuffer* rb) { + BROTLI_FREE(m, rb->data_); +} + +/* Allocates or re-allocates data_ to the given length + plus some slack + region before and after. Fills the slack regions with zeros. */ +static BROTLI_INLINE void RingBufferInitBuffer( + MemoryManager* m, const uint32_t buflen, RingBuffer* rb) { + static const size_t kSlackForEightByteHashingEverywhere = 7; + uint8_t* new_data = BROTLI_ALLOC( + m, uint8_t, 2 + buflen + kSlackForEightByteHashingEverywhere); + size_t i; + if (BROTLI_IS_OOM(m)) return; + if (rb->data_) { + memcpy(new_data, rb->data_, + 2 + rb->cur_size_ + kSlackForEightByteHashingEverywhere); + BROTLI_FREE(m, rb->data_); + } + rb->data_ = new_data; + rb->cur_size_ = buflen; + rb->buffer_ = rb->data_ + 2; + rb->buffer_[-2] = rb->buffer_[-1] = 0; + for (i = 0; i < kSlackForEightByteHashingEverywhere; ++i) { + rb->buffer_[rb->cur_size_ + i] = 0; + } +} + +static BROTLI_INLINE void RingBufferWriteTail( + const uint8_t *bytes, size_t n, RingBuffer* rb) { + const size_t masked_pos = rb->pos_ & rb->mask_; + if (PREDICT_FALSE(masked_pos < rb->tail_size_)) { + /* Just fill the tail buffer with the beginning data. */ + const size_t p = rb->size_ + masked_pos; + memcpy(&rb->buffer_[p], bytes, + BROTLI_MIN(size_t, n, rb->tail_size_ - masked_pos)); + } +} + +/* Push bytes into the ring buffer. */ +static BROTLI_INLINE void RingBufferWrite( + MemoryManager* m, const uint8_t *bytes, size_t n, RingBuffer* rb) { + if (rb->pos_ == 0 && n < rb->tail_size_) { + /* Special case for the first write: to process the first block, we don't + need to allocate the whole ringbuffer and we don't need the tail + either. However, we do this memory usage optimization only if the + first write is less than the tail size, which is also the input block + size, otherwise it is likely that other blocks will follow and we + will need to reallocate to the full size anyway. */ + rb->pos_ = (uint32_t)n; + RingBufferInitBuffer(m, rb->pos_, rb); + if (BROTLI_IS_OOM(m)) return; + memcpy(rb->buffer_, bytes, n); + return; + } + if (rb->cur_size_ < rb->total_size_) { + /* Lazily allocate the full buffer. */ + RingBufferInitBuffer(m, rb->total_size_, rb); + if (BROTLI_IS_OOM(m)) return; + /* Initialize the last two bytes to zero, so that we don't have to worry + later when we copy the last two bytes to the first two positions. */ + rb->buffer_[rb->size_ - 2] = 0; + rb->buffer_[rb->size_ - 1] = 0; + } + { + const size_t masked_pos = rb->pos_ & rb->mask_; + /* The length of the writes is limited so that we do not need to worry + about a write */ + RingBufferWriteTail(bytes, n, rb); + if (PREDICT_TRUE(masked_pos + n <= rb->size_)) { + /* A single write fits. */ + memcpy(&rb->buffer_[masked_pos], bytes, n); + } else { + /* Split into two writes. + Copy into the end of the buffer, including the tail buffer. */ + memcpy(&rb->buffer_[masked_pos], bytes, + BROTLI_MIN(size_t, n, rb->total_size_ - masked_pos)); + /* Copy into the beginning of the buffer */ + memcpy(&rb->buffer_[0], bytes + (rb->size_ - masked_pos), + n - (rb->size_ - masked_pos)); + } + } + rb->buffer_[-2] = rb->buffer_[rb->size_ - 2]; + rb->buffer_[-1] = rb->buffer_[rb->size_ - 1]; + rb->pos_ += (uint32_t)n; + if (rb->pos_ > (1u << 30)) { + /* Wrap, but preserve not-a-first-lap feature. */ + rb->pos_ = (rb->pos_ & ((1u << 30) - 1)) | (1u << 30); + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_RINGBUFFER_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/static_dict.c b/BaseTools/Source/C/BrotliCompress/enc/static_dict.c new file mode 100644 index 000000000000..099414ed0224 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/static_dict.c @@ -0,0 +1,478 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include "./static_dict.h" + +#include "../common/dictionary.h" +#include "./find_match_length.h" +#include "./port.h" +#include "./static_dict_lut.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const uint8_t kUppercaseFirst = 10; +static const uint8_t kOmitLastNTransforms[10] = { + 0, 12, 27, 23, 42, 63, 56, 48, 59, 64, +}; + +static BROTLI_INLINE uint32_t Hash(const uint8_t *data) { + uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kDictHashMul32; + /* The higher bits contain more mixture from the multiplication, + so we take our results from there. */ + return h >> (32 - kDictNumBits); +} + +static BROTLI_INLINE void AddMatch(size_t distance, size_t len, size_t len_code, + uint32_t* matches) { + uint32_t match = (uint32_t)((distance << 5) + len_code); + matches[len] = BROTLI_MIN(uint32_t, matches[len], match); +} + +static BROTLI_INLINE size_t DictMatchLength(const uint8_t* data, + size_t id, + size_t len, + size_t maxlen) { + const size_t offset = kBrotliDictionaryOffsetsByLength[len] + len * id; + return FindMatchLengthWithLimit(&kBrotliDictionary[offset], data, + BROTLI_MIN(size_t, len, maxlen)); +} + +static BROTLI_INLINE BROTLI_BOOL IsMatch( + DictWord w, const uint8_t* data, size_t max_length) { + if (w.len > max_length) { + return BROTLI_FALSE; + } else { + const size_t offset = kBrotliDictionaryOffsetsByLength[w.len] + + (size_t)w.len * (size_t)w.idx; + const uint8_t* dict = &kBrotliDictionary[offset]; + if (w.transform == 0) { + /* Match against base dictionary word. */ + return + TO_BROTLI_BOOL(FindMatchLengthWithLimit(dict, data, w.len) == w.len); + } else if (w.transform == 10) { + /* Match against uppercase first transform. + Note that there are only ASCII uppercase words in the lookup table. */ + return TO_BROTLI_BOOL(dict[0] >= 'a' && dict[0] <= 'z' && + (dict[0] ^ 32) == data[0] && + FindMatchLengthWithLimit(&dict[1], &data[1], w.len - 1u) == + w.len - 1u); + } else { + /* Match against uppercase all transform. + Note that there are only ASCII uppercase words in the lookup table. */ + size_t i; + for (i = 0; i < w.len; ++i) { + if (dict[i] >= 'a' && dict[i] <= 'z') { + if ((dict[i] ^ 32) != data[i]) return BROTLI_FALSE; + } else { + if (dict[i] != data[i]) return BROTLI_FALSE; + } + } + return BROTLI_TRUE; + } + } +} + +BROTLI_BOOL BrotliFindAllStaticDictionaryMatches( + const uint8_t* data, size_t min_length, size_t max_length, + uint32_t* matches) { + BROTLI_BOOL has_found_match = BROTLI_FALSE; + { + size_t offset = kStaticDictionaryBuckets[Hash(data)]; + BROTLI_BOOL end = !offset; + while (!end) { + DictWord w = kStaticDictionaryWords[offset++]; + const size_t l = w.len & 0x7F; + const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l]; + const size_t id = w.idx; + end = !!(w.len & 0x80); + w.len = (uint8_t)l; + if (w.transform == 0) { + const size_t matchlen = DictMatchLength(data, id, l, max_length); + const uint8_t* s; + size_t minlen; + size_t maxlen; + size_t len; + /* Transform "" + kIdentity + "" */ + if (matchlen == l) { + AddMatch(id, l, l, matches); + has_found_match = BROTLI_TRUE; + } + /* Transforms "" + kOmitLast1 + "" and "" + kOmitLast1 + "ing " */ + if (matchlen >= l - 1) { + AddMatch(id + 12 * n, l - 1, l, matches); + if (l + 2 < max_length && + data[l - 1] == 'i' && data[l] == 'n' && data[l + 1] == 'g' && + data[l + 2] == ' ') { + AddMatch(id + 49 * n, l + 3, l, matches); + } + has_found_match = BROTLI_TRUE; + } + /* Transform "" + kOmitLastN + "" (N = 2 .. 9) */ + minlen = min_length; + if (l > 9) minlen = BROTLI_MAX(size_t, minlen, l - 9); + maxlen = BROTLI_MIN(size_t, matchlen, l - 2); + for (len = minlen; len <= maxlen; ++len) { + AddMatch(id + kOmitLastNTransforms[l - len] * n, len, l, matches); + has_found_match = BROTLI_TRUE; + } + if (matchlen < l || l + 6 >= max_length) { + continue; + } + s = &data[l]; + /* Transforms "" + kIdentity + */ + if (s[0] == ' ') { + AddMatch(id + n, l + 1, l, matches); + if (s[1] == 'a') { + if (s[2] == ' ') { + AddMatch(id + 28 * n, l + 3, l, matches); + } else if (s[2] == 's') { + if (s[3] == ' ') AddMatch(id + 46 * n, l + 4, l, matches); + } else if (s[2] == 't') { + if (s[3] == ' ') AddMatch(id + 60 * n, l + 4, l, matches); + } else if (s[2] == 'n') { + if (s[3] == 'd' && s[4] == ' ') { + AddMatch(id + 10 * n, l + 5, l, matches); + } + } + } else if (s[1] == 'b') { + if (s[2] == 'y' && s[3] == ' ') { + AddMatch(id + 38 * n, l + 4, l, matches); + } + } else if (s[1] == 'i') { + if (s[2] == 'n') { + if (s[3] == ' ') AddMatch(id + 16 * n, l + 4, l, matches); + } else if (s[2] == 's') { + if (s[3] == ' ') AddMatch(id + 47 * n, l + 4, l, matches); + } + } else if (s[1] == 'f') { + if (s[2] == 'o') { + if (s[3] == 'r' && s[4] == ' ') { + AddMatch(id + 25 * n, l + 5, l, matches); + } + } else if (s[2] == 'r') { + if (s[3] == 'o' && s[4] == 'm' && s[5] == ' ') { + AddMatch(id + 37 * n, l + 6, l, matches); + } + } + } else if (s[1] == 'o') { + if (s[2] == 'f') { + if (s[3] == ' ') AddMatch(id + 8 * n, l + 4, l, matches); + } else if (s[2] == 'n') { + if (s[3] == ' ') AddMatch(id + 45 * n, l + 4, l, matches); + } + } else if (s[1] == 'n') { + if (s[2] == 'o' && s[3] == 't' && s[4] == ' ') { + AddMatch(id + 80 * n, l + 5, l, matches); + } + } else if (s[1] == 't') { + if (s[2] == 'h') { + if (s[3] == 'e') { + if (s[4] == ' ') AddMatch(id + 5 * n, l + 5, l, matches); + } else if (s[3] == 'a') { + if (s[4] == 't' && s[5] == ' ') { + AddMatch(id + 29 * n, l + 6, l, matches); + } + } + } else if (s[2] == 'o') { + if (s[3] == ' ') AddMatch(id + 17 * n, l + 4, l, matches); + } + } else if (s[1] == 'w') { + if (s[2] == 'i' && s[3] == 't' && s[4] == 'h' && s[5] == ' ') { + AddMatch(id + 35 * n, l + 6, l, matches); + } + } + } else if (s[0] == '"') { + AddMatch(id + 19 * n, l + 1, l, matches); + if (s[1] == '>') { + AddMatch(id + 21 * n, l + 2, l, matches); + } + } else if (s[0] == '.') { + AddMatch(id + 20 * n, l + 1, l, matches); + if (s[1] == ' ') { + AddMatch(id + 31 * n, l + 2, l, matches); + if (s[2] == 'T' && s[3] == 'h') { + if (s[4] == 'e') { + if (s[5] == ' ') AddMatch(id + 43 * n, l + 6, l, matches); + } else if (s[4] == 'i') { + if (s[5] == 's' && s[6] == ' ') { + AddMatch(id + 75 * n, l + 7, l, matches); + } + } + } + } + } else if (s[0] == ',') { + AddMatch(id + 76 * n, l + 1, l, matches); + if (s[1] == ' ') { + AddMatch(id + 14 * n, l + 2, l, matches); + } + } else if (s[0] == '\n') { + AddMatch(id + 22 * n, l + 1, l, matches); + if (s[1] == '\t') { + AddMatch(id + 50 * n, l + 2, l, matches); + } + } else if (s[0] == ']') { + AddMatch(id + 24 * n, l + 1, l, matches); + } else if (s[0] == '\'') { + AddMatch(id + 36 * n, l + 1, l, matches); + } else if (s[0] == ':') { + AddMatch(id + 51 * n, l + 1, l, matches); + } else if (s[0] == '(') { + AddMatch(id + 57 * n, l + 1, l, matches); + } else if (s[0] == '=') { + if (s[1] == '"') { + AddMatch(id + 70 * n, l + 2, l, matches); + } else if (s[1] == '\'') { + AddMatch(id + 86 * n, l + 2, l, matches); + } + } else if (s[0] == 'a') { + if (s[1] == 'l' && s[2] == ' ') { + AddMatch(id + 84 * n, l + 3, l, matches); + } + } else if (s[0] == 'e') { + if (s[1] == 'd') { + if (s[2] == ' ') AddMatch(id + 53 * n, l + 3, l, matches); + } else if (s[1] == 'r') { + if (s[2] == ' ') AddMatch(id + 82 * n, l + 3, l, matches); + } else if (s[1] == 's') { + if (s[2] == 't' && s[3] == ' ') { + AddMatch(id + 95 * n, l + 4, l, matches); + } + } + } else if (s[0] == 'f') { + if (s[1] == 'u' && s[2] == 'l' && s[3] == ' ') { + AddMatch(id + 90 * n, l + 4, l, matches); + } + } else if (s[0] == 'i') { + if (s[1] == 'v') { + if (s[2] == 'e' && s[3] == ' ') { + AddMatch(id + 92 * n, l + 4, l, matches); + } + } else if (s[1] == 'z') { + if (s[2] == 'e' && s[3] == ' ') { + AddMatch(id + 100 * n, l + 4, l, matches); + } + } + } else if (s[0] == 'l') { + if (s[1] == 'e') { + if (s[2] == 's' && s[3] == 's' && s[4] == ' ') { + AddMatch(id + 93 * n, l + 5, l, matches); + } + } else if (s[1] == 'y') { + if (s[2] == ' ') AddMatch(id + 61 * n, l + 3, l, matches); + } + } else if (s[0] == 'o') { + if (s[1] == 'u' && s[2] == 's' && s[3] == ' ') { + AddMatch(id + 106 * n, l + 4, l, matches); + } + } + } else { + /* Set is_all_caps=0 for kUppercaseFirst and + is_all_caps=1 otherwise (kUppercaseAll) transform. */ + const BROTLI_BOOL is_all_caps = + TO_BROTLI_BOOL(w.transform != kUppercaseFirst); + const uint8_t* s; + if (!IsMatch(w, data, max_length)) { + continue; + } + /* Transform "" + kUppercase{First,All} + "" */ + AddMatch(id + (is_all_caps ? 44 : 9) * n, l, l, matches); + has_found_match = BROTLI_TRUE; + if (l + 1 >= max_length) { + continue; + } + /* Transforms "" + kUppercase{First,All} + */ + s = &data[l]; + if (s[0] == ' ') { + AddMatch(id + (is_all_caps ? 68 : 4) * n, l + 1, l, matches); + } else if (s[0] == '"') { + AddMatch(id + (is_all_caps ? 87 : 66) * n, l + 1, l, matches); + if (s[1] == '>') { + AddMatch(id + (is_all_caps ? 97 : 69) * n, l + 2, l, matches); + } + } else if (s[0] == '.') { + AddMatch(id + (is_all_caps ? 101 : 79) * n, l + 1, l, matches); + if (s[1] == ' ') { + AddMatch(id + (is_all_caps ? 114 : 88) * n, l + 2, l, matches); + } + } else if (s[0] == ',') { + AddMatch(id + (is_all_caps ? 112 : 99) * n, l + 1, l, matches); + if (s[1] == ' ') { + AddMatch(id + (is_all_caps ? 107 : 58) * n, l + 2, l, matches); + } + } else if (s[0] == '\'') { + AddMatch(id + (is_all_caps ? 94 : 74) * n, l + 1, l, matches); + } else if (s[0] == '(') { + AddMatch(id + (is_all_caps ? 113 : 78) * n, l + 1, l, matches); + } else if (s[0] == '=') { + if (s[1] == '"') { + AddMatch(id + (is_all_caps ? 105 : 104) * n, l + 2, l, matches); + } else if (s[1] == '\'') { + AddMatch(id + (is_all_caps ? 116 : 108) * n, l + 2, l, matches); + } + } + } + } + } + /* Transforms with prefixes " " and "." */ + if (max_length >= 5 && (data[0] == ' ' || data[0] == '.')) { + BROTLI_BOOL is_space = TO_BROTLI_BOOL(data[0] == ' '); + size_t offset = kStaticDictionaryBuckets[Hash(&data[1])]; + BROTLI_BOOL end = !offset; + while (!end) { + DictWord w = kStaticDictionaryWords[offset++]; + const size_t l = w.len & 0x7F; + const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l]; + const size_t id = w.idx; + end = !!(w.len & 0x80); + w.len = (uint8_t)l; + if (w.transform == 0) { + const uint8_t* s; + if (!IsMatch(w, &data[1], max_length - 1)) { + continue; + } + /* Transforms " " + kIdentity + "" and "." + kIdentity + "" */ + AddMatch(id + (is_space ? 6 : 32) * n, l + 1, l, matches); + has_found_match = BROTLI_TRUE; + if (l + 2 >= max_length) { + continue; + } + /* Transforms " " + kIdentity + and "." + kIdentity + + */ + s = &data[l + 1]; + if (s[0] == ' ') { + AddMatch(id + (is_space ? 2 : 77) * n, l + 2, l, matches); + } else if (s[0] == '(') { + AddMatch(id + (is_space ? 89 : 67) * n, l + 2, l, matches); + } else if (is_space) { + if (s[0] == ',') { + AddMatch(id + 103 * n, l + 2, l, matches); + if (s[1] == ' ') { + AddMatch(id + 33 * n, l + 3, l, matches); + } + } else if (s[0] == '.') { + AddMatch(id + 71 * n, l + 2, l, matches); + if (s[1] == ' ') { + AddMatch(id + 52 * n, l + 3, l, matches); + } + } else if (s[0] == '=') { + if (s[1] == '"') { + AddMatch(id + 81 * n, l + 3, l, matches); + } else if (s[1] == '\'') { + AddMatch(id + 98 * n, l + 3, l, matches); + } + } + } + } else if (is_space) { + /* Set is_all_caps=0 for kUppercaseFirst and + is_all_caps=1 otherwise (kUppercaseAll) transform. */ + const BROTLI_BOOL is_all_caps = + TO_BROTLI_BOOL(w.transform != kUppercaseFirst); + const uint8_t* s; + if (!IsMatch(w, &data[1], max_length - 1)) { + continue; + } + /* Transforms " " + kUppercase{First,All} + "" */ + AddMatch(id + (is_all_caps ? 85 : 30) * n, l + 1, l, matches); + has_found_match = BROTLI_TRUE; + if (l + 2 >= max_length) { + continue; + } + /* Transforms " " + kUppercase{First,All} + */ + s = &data[l + 1]; + if (s[0] == ' ') { + AddMatch(id + (is_all_caps ? 83 : 15) * n, l + 2, l, matches); + } else if (s[0] == ',') { + if (!is_all_caps) { + AddMatch(id + 109 * n, l + 2, l, matches); + } + if (s[1] == ' ') { + AddMatch(id + (is_all_caps ? 111 : 65) * n, l + 3, l, matches); + } + } else if (s[0] == '.') { + AddMatch(id + (is_all_caps ? 115 : 96) * n, l + 2, l, matches); + if (s[1] == ' ') { + AddMatch(id + (is_all_caps ? 117 : 91) * n, l + 3, l, matches); + } + } else if (s[0] == '=') { + if (s[1] == '"') { + AddMatch(id + (is_all_caps ? 110 : 118) * n, l + 3, l, matches); + } else if (s[1] == '\'') { + AddMatch(id + (is_all_caps ? 119 : 120) * n, l + 3, l, matches); + } + } + } + } + } + if (max_length >= 6) { + /* Transforms with prefixes "e ", "s ", ", " and "\xc2\xa0" */ + if ((data[1] == ' ' && + (data[0] == 'e' || data[0] == 's' || data[0] == ',')) || + (data[0] == 0xc2 && data[1] == 0xa0)) { + size_t offset = kStaticDictionaryBuckets[Hash(&data[2])]; + BROTLI_BOOL end = !offset; + while (!end) { + DictWord w = kStaticDictionaryWords[offset++]; + const size_t l = w.len & 0x7F; + const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l]; + const size_t id = w.idx; + end = !!(w.len & 0x80); + w.len = (uint8_t)l; + if (w.transform == 0 && IsMatch(w, &data[2], max_length - 2)) { + if (data[0] == 0xc2) { + AddMatch(id + 102 * n, l + 2, l, matches); + has_found_match = BROTLI_TRUE; + } else if (l + 2 < max_length && data[l + 2] == ' ') { + size_t t = data[0] == 'e' ? 18 : (data[0] == 's' ? 7 : 13); + AddMatch(id + t * n, l + 3, l, matches); + has_found_match = BROTLI_TRUE; + } + } + } + } + } + if (max_length >= 9) { + /* Transforms with prefixes " the " and ".com/" */ + if ((data[0] == ' ' && data[1] == 't' && data[2] == 'h' && + data[3] == 'e' && data[4] == ' ') || + (data[0] == '.' && data[1] == 'c' && data[2] == 'o' && + data[3] == 'm' && data[4] == '/')) { + size_t offset = kStaticDictionaryBuckets[Hash(&data[5])]; + BROTLI_BOOL end = !offset; + while (!end) { + DictWord w = kStaticDictionaryWords[offset++]; + const size_t l = w.len & 0x7F; + const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l]; + const size_t id = w.idx; + end = !!(w.len & 0x80); + w.len = (uint8_t)l; + if (w.transform == 0 && IsMatch(w, &data[5], max_length - 5)) { + AddMatch(id + (data[0] == ' ' ? 41 : 72) * n, l + 5, l, matches); + has_found_match = BROTLI_TRUE; + if (l + 5 < max_length) { + const uint8_t* s = &data[l + 5]; + if (data[0] == ' ') { + if (l + 8 < max_length && + s[0] == ' ' && s[1] == 'o' && s[2] == 'f' && s[3] == ' ') { + AddMatch(id + 62 * n, l + 9, l, matches); + if (l + 12 < max_length && + s[4] == 't' && s[5] == 'h' && s[6] == 'e' && s[7] == ' ') { + AddMatch(id + 73 * n, l + 13, l, matches); + } + } + } + } + } + } + } + } + return has_found_match; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/static_dict.h b/BaseTools/Source/C/BrotliCompress/enc/static_dict.h new file mode 100644 index 000000000000..d21396b31cfd --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/static_dict.h @@ -0,0 +1,37 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Class to model the static dictionary. */ + +#ifndef BROTLI_ENC_STATIC_DICT_H_ +#define BROTLI_ENC_STATIC_DICT_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN 37 +static const uint32_t kInvalidMatch = 0xfffffff; + +/* Matches data against static dictionary words, and for each length l, + for which a match is found, updates matches[l] to be the minimum possible + (distance << 5) + len_code. + Returns 1 if matches have been found, otherwise 0. + Prerequisites: + matches array is at least BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN + 1 long + all elements are initialized to kInvalidMatch */ +BROTLI_INTERNAL BROTLI_BOOL BrotliFindAllStaticDictionaryMatches( + const uint8_t* data, size_t min_length, size_t max_length, + uint32_t* matches); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_STATIC_DICT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h b/BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h new file mode 100644 index 000000000000..1733d4487259 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h @@ -0,0 +1,11241 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Lookup table for static dictionary and transforms. */ + +#ifndef BROTLI_ENC_STATIC_DICT_LUT_H_ +#define BROTLI_ENC_STATIC_DICT_LUT_H_ + +#include "../common/types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef struct DictWord { + /* Highest bit is used to indicate end of bucket. */ + uint8_t len; + uint8_t transform; + uint16_t idx; +} DictWord; + +static const int kDictNumBits = 15; +static const uint32_t kDictHashMul32 = 0x1e35a7bd; + +static const uint16_t kStaticDictionaryBuckets[32768] = { + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, + 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000, + 0x0015, 0x0000, 0x0016, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0017, 0x0000, 0x0000, 0x0019, 0x0000, 0x001d, 0x0000, 0x0035, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0037, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x003d, 0x004c, 0x0000, 0x0000, 0x0000, 0x005e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0060, 0x0000, 0x0061, 0x0000, 0x0062, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, 0x0065, 0x006a, 0x006c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x006e, 0x0000, 0x006f, 0x0070, 0x0000, + 0x0071, 0x0076, 0x007c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x007d, 0x0080, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0081, 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0087, 0x0000, 0x0000, + 0x0000, 0x0089, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008a, 0x008b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008e, 0x008f, 0x0090, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0091, 0x0000, 0x0000, 0x0000, 0x0092, 0x0095, + 0x0097, 0x0098, 0x0000, 0x0000, 0x0099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00a0, 0x00b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00b7, 0x0000, 0x0000, 0x0000, 0x00bc, 0x00bd, 0x0000, 0x0000, 0x00c0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x00c5, 0x00ca, 0x00d1, 0x0000, 0x0000, 0x00d2, + 0x0000, 0x00e0, 0x0000, 0x0000, 0x0000, 0x00e1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e7, 0x0000, 0x0000, 0x0000, + 0x00e8, 0x0000, 0x00f0, 0x0000, 0x0000, 0x00f2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f4, 0x0000, 0x0000, + 0x0000, 0x00f6, 0x0000, 0x0000, 0x00f9, 0x00fb, 0x00fd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0102, 0x0000, 0x0000, 0x0105, 0x0107, 0x0000, 0x0000, 0x0000, + 0x010b, 0x0000, 0x0000, 0x010c, 0x0000, 0x010d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x010f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0110, 0x0000, 0x0111, 0x0000, 0x0115, 0x0000, 0x0116, 0x011e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x011f, 0x0000, 0x0121, 0x0122, 0x0123, 0x0000, + 0x0000, 0x0000, 0x0127, 0x0000, 0x0000, 0x0128, 0x0129, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x012a, 0x0000, 0x0000, + 0x0000, 0x012b, 0x0000, 0x0000, 0x0131, 0x0000, 0x0144, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0147, 0x0000, 0x0148, 0x0149, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0150, 0x0000, 0x0000, 0x0154, 0x0000, 0x0155, 0x0156, 0x0157, 0x0000, 0x0000, + 0x015a, 0x0000, 0x015c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x015d, + 0x015f, 0x0000, 0x0000, 0x0163, 0x0000, 0x016b, 0x0000, 0x016c, 0x0000, 0x0170, + 0x0171, 0x0000, 0x0172, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0174, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0175, 0x0000, 0x0177, 0x0000, 0x0000, 0x0000, 0x0000, 0x0178, + 0x0179, 0x0000, 0x0000, 0x018a, 0x018b, 0x018c, 0x0000, 0x0000, 0x018e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0190, 0x0000, 0x0000, 0x0198, 0x0000, 0x0000, 0x0000, + 0x0000, 0x01a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a5, 0x0000, + 0x0000, 0x01a6, 0x01a7, 0x0000, 0x0000, 0x01ad, 0x01b3, 0x01b4, 0x01ba, 0x0000, + 0x0000, 0x01bb, 0x0000, 0x01bc, 0x01bd, 0x01c5, 0x01c8, 0x0000, 0x01c9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x01ca, 0x0000, 0x0000, 0x0000, 0x01cb, 0x0000, + 0x0000, 0x0000, 0x01cc, 0x0000, 0x01ce, 0x01cf, 0x01d1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x01d2, 0x01d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x01d6, 0x0000, 0x0000, 0x0000, 0x01da, 0x0000, 0x01dc, 0x0000, 0x0000, + 0x0000, 0x0000, 0x01e3, 0x0000, 0x01e5, 0x0000, 0x0000, 0x0000, 0x01e6, 0x0000, + 0x0000, 0x01e8, 0x01eb, 0x01ec, 0x0000, 0x0000, 0x01f1, 0x01f3, 0x01f4, 0x0000, + 0x01f5, 0x0000, 0x0000, 0x0000, 0x01f9, 0x0000, 0x0000, 0x01fa, 0x0000, 0x0000, + 0x0000, 0x01fb, 0x0000, 0x0000, 0x0000, 0x01fd, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01ff, 0x0200, 0x0207, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0211, + 0x0212, 0x0000, 0x0000, 0x0000, 0x0216, 0x0000, 0x0000, 0x0000, 0x0000, 0x021f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0229, + 0x0000, 0x0000, 0x0000, 0x0000, 0x022d, 0x0230, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0231, 0x0000, 0x0234, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0235, 0x0236, 0x0000, 0x023f, 0x0000, 0x026b, 0x0000, 0x026c, 0x0000, + 0x0000, 0x026f, 0x0270, 0x0000, 0x0000, 0x0000, 0x0271, 0x0000, 0x0000, 0x0272, + 0x0273, 0x0000, 0x0000, 0x0274, 0x0000, 0x0000, 0x0000, 0x0000, 0x0276, 0x0000, + 0x0277, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0281, 0x0000, 0x0000, 0x0000, 0x0000, 0x0283, 0x0290, 0x029c, 0x0000, 0x0000, + 0x0000, 0x02a1, 0x0000, 0x0000, 0x0000, 0x02a2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x02aa, 0x0000, 0x02af, 0x0000, 0x02b2, 0x0000, + 0x02b5, 0x02bb, 0x02bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02c0, + 0x02c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x02c3, 0x02c6, 0x0000, 0x02c7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x02d6, 0x0000, 0x0000, 0x02d9, 0x0000, 0x0000, 0x0000, + 0x02da, 0x02db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02f0, 0x0000, 0x0000, + 0x0000, 0x02fa, 0x0000, 0x02fb, 0x0000, 0x0000, 0x02ff, 0x0000, 0x0000, 0x0000, + 0x0302, 0x0306, 0x0000, 0x0000, 0x0307, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0308, 0x0000, 0x0000, 0x0000, 0x0309, + 0x030f, 0x0000, 0x0000, 0x0000, 0x0311, 0x0314, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0316, 0x0000, 0x0000, 0x0000, 0x0319, 0x0000, 0x0000, 0x0000, 0x0000, 0x031a, + 0x0000, 0x0000, 0x0324, 0x0333, 0x0335, 0x0000, 0x033b, 0x0000, 0x0000, 0x0000, + 0x0342, 0x0000, 0x0000, 0x0343, 0x0000, 0x0000, 0x0000, 0x0349, 0x0000, 0x034c, + 0x0000, 0x0352, 0x0353, 0x035b, 0x0000, 0x035c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x036a, 0x0000, 0x036c, 0x0000, 0x036d, 0x037a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x037d, 0x037e, 0x0382, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0383, 0x0000, 0x0000, 0x0000, 0x0384, + 0x0388, 0x038a, 0x0000, 0x0000, 0x0000, 0x038b, 0x0000, 0x038c, 0x038d, 0x0000, + 0x038e, 0x0000, 0x0000, 0x0000, 0x0000, 0x038f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0394, 0x0000, 0x0000, 0x0000, 0x039a, 0x039d, 0x0000, 0x03a2, 0x0000, + 0x03a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03af, 0x0000, 0x0000, 0x03b0, + 0x0000, 0x03b9, 0x03ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03bb, + 0x0000, 0x03c2, 0x03c3, 0x0000, 0x0000, 0x03d0, 0x0000, 0x0000, 0x03d1, 0x03d2, + 0x03d3, 0x03d4, 0x0000, 0x03d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d8, 0x0000, + 0x0000, 0x03d9, 0x0000, 0x0000, 0x03db, 0x03dd, 0x03df, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e0, 0x0000, 0x0000, 0x0000, + 0x03e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e4, 0x0000, 0x0000, + 0x0000, 0x03e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ea, 0x0000, 0x0000, + 0x0000, 0x0000, 0x03ed, 0x03ef, 0x0000, 0x0000, 0x0000, 0x03f1, 0x0000, 0x0000, + 0x0000, 0x03f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f3, 0x0000, + 0x03f4, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f6, 0x03f8, 0x0000, 0x0000, 0x0000, + 0x03fc, 0x0000, 0x03fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fe, 0x0000, 0x0000, + 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0401, 0x0000, + 0x0000, 0x0402, 0x0403, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0407, 0x0000, + 0x0409, 0x0000, 0x0000, 0x0000, 0x0000, 0x040a, 0x0000, 0x0000, 0x0000, 0x040d, + 0x0410, 0x0000, 0x0000, 0x0000, 0x0412, 0x0413, 0x0000, 0x0000, 0x041d, 0x0000, + 0x041e, 0x0000, 0x0000, 0x0421, 0x0000, 0x0000, 0x0000, 0x0422, 0x0000, 0x0000, + 0x0424, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0425, 0x0000, + 0x0000, 0x0426, 0x0000, 0x0000, 0x0000, 0x0000, 0x0427, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0428, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0429, 0x0000, 0x0000, + 0x0000, 0x0000, 0x042a, 0x042b, 0x0000, 0x0000, 0x0000, 0x042d, 0x042e, 0x0430, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0431, 0x0000, 0x0433, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0438, 0x043c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0440, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0446, 0x0000, + 0x0447, 0x0000, 0x0453, 0x0000, 0x0000, 0x0000, 0x0458, 0x045a, 0x0000, 0x045f, + 0x0000, 0x0462, 0x0000, 0x0000, 0x0466, 0x0000, 0x0469, 0x0000, 0x046a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x046c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0478, 0x0000, 0x0000, 0x0479, 0x047a, 0x0000, 0x047c, 0x047d, 0x0000, + 0x0000, 0x047e, 0x047f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000, 0x0481, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0482, 0x0000, 0x048b, 0x0000, 0x0000, + 0x0000, 0x048c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x048d, 0x0000, 0x048f, + 0x0000, 0x0492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0493, 0x0494, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0495, 0x0497, 0x0499, + 0x0000, 0x04a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x04ab, 0x0000, 0x0000, 0x04c5, 0x0000, 0x0000, 0x04c8, 0x0000, + 0x0000, 0x04cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04cc, 0x04cd, 0x0000, + 0x0000, 0x04ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x04cf, 0x0000, 0x0000, 0x0000, 0x04d1, 0x0000, 0x0000, 0x04db, 0x04dc, + 0x04de, 0x04e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x04e6, 0x04e7, 0x04ea, 0x04eb, + 0x0000, 0x0000, 0x0000, 0x04ec, 0x0000, 0x0000, 0x04ed, 0x0000, 0x0000, 0x0000, + 0x04ee, 0x04f0, 0x0000, 0x0000, 0x04f1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04f2, 0x0000, 0x04f3, + 0x0000, 0x0000, 0x0000, 0x0000, 0x04f9, 0x04fa, 0x04fc, 0x0509, 0x0000, 0x0000, + 0x050b, 0x050c, 0x050d, 0x0000, 0x0000, 0x050e, 0x050f, 0x0510, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0516, 0x0000, 0x0518, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x051f, 0x0520, 0x0000, 0x0522, 0x0000, 0x0524, + 0x0528, 0x0529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x052a, + 0x052b, 0x052c, 0x0000, 0x0537, 0x0000, 0x0538, 0x0000, 0x0000, 0x0000, 0x0000, + 0x053d, 0x053e, 0x0000, 0x0542, 0x0000, 0x054d, 0x0000, 0x0000, 0x0000, 0x054e, + 0x0550, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0551, 0x0000, 0x0000, + 0x0000, 0x0552, 0x0555, 0x0000, 0x0556, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0563, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x056a, 0x0000, 0x056c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0573, 0x0000, 0x0000, 0x0000, 0x0000, 0x057b, 0x0000, 0x057d, + 0x0000, 0x0000, 0x057f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0580, 0x0581, + 0x0000, 0x0582, 0x0000, 0x0000, 0x0000, 0x0584, 0x0585, 0x0588, 0x0000, 0x0000, + 0x0595, 0x05ab, 0x0000, 0x0000, 0x05ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x05af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x05b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x05b3, 0x05b4, 0x05b5, 0x05c3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05c5, 0x0000, 0x05c8, 0x0000, 0x05c9, + 0x0000, 0x0000, 0x05ce, 0x0000, 0x0000, 0x05d7, 0x0000, 0x0000, 0x0000, 0x05d8, + 0x0000, 0x0000, 0x05da, 0x05db, 0x05dd, 0x05f0, 0x05f1, 0x0000, 0x0000, 0x0000, + 0x05f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x05f8, 0x05f9, 0x0000, 0x05fd, 0x0600, + 0x0000, 0x0000, 0x0000, 0x0601, 0x0602, 0x060d, 0x0000, 0x060e, 0x0616, 0x0617, + 0x0624, 0x0000, 0x0625, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0627, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x062b, 0x0000, + 0x063f, 0x0000, 0x0643, 0x0000, 0x0644, 0x0000, 0x0645, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0648, 0x064a, 0x0000, 0x0000, 0x0000, 0x0000, 0x064b, 0x0000, + 0x064f, 0x0000, 0x0650, 0x0652, 0x0000, 0x0653, 0x0000, 0x0000, 0x0656, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0662, 0x0000, 0x0000, 0x0000, 0x0663, 0x0000, 0x0000, + 0x0000, 0x0669, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x066b, 0x0000, 0x0000, 0x0000, 0x0672, 0x0000, 0x0000, 0x0674, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0675, 0x0000, 0x0000, 0x0000, 0x0676, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0677, 0x0000, 0x067e, 0x0000, 0x0000, 0x067f, 0x0680, + 0x0000, 0x0000, 0x0684, 0x0000, 0x0000, 0x0685, 0x0686, 0x0000, 0x0688, 0x0689, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x068a, 0x0000, 0x0000, 0x0000, 0x068b, + 0x068c, 0x0690, 0x0000, 0x0692, 0x0000, 0x0000, 0x0697, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x06a8, 0x0000, 0x0000, 0x06a9, 0x0000, 0x0000, 0x06b9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x06c6, 0x06c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x06c9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x06cb, 0x0000, 0x0000, 0x06cc, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06cd, 0x06cf, + 0x0000, 0x0000, 0x0000, 0x0000, 0x06d1, 0x0000, 0x0000, 0x0000, 0x06d5, 0x0000, + 0x0000, 0x0000, 0x06d7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06e0, + 0x0000, 0x0000, 0x0000, 0x0000, 0x06e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x06f8, 0x0000, 0x06f9, 0x06fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x06fc, 0x06fd, + 0x0000, 0x0000, 0x0000, 0x0000, 0x06fe, 0x06ff, 0x0701, 0x0000, 0x0706, 0x0707, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0709, 0x0000, 0x070b, 0x070d, 0x0000, 0x0000, + 0x0000, 0x070e, 0x0713, 0x0000, 0x0714, 0x0716, 0x0000, 0x071d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x071e, 0x0729, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0738, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0741, 0x0000, + 0x0000, 0x0000, 0x0743, 0x0000, 0x0000, 0x0000, 0x0000, 0x0745, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x074a, 0x0000, 0x0781, 0x0785, 0x0000, + 0x0000, 0x0000, 0x0789, 0x078a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x078b, 0x0000, 0x0000, 0x0000, 0x0000, 0x078c, 0x0000, + 0x0000, 0x0000, 0x078e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x079a, 0x0000, 0x0000, 0x079c, 0x0000, 0x0000, 0x0000, 0x0000, 0x079e, + 0x0000, 0x07a5, 0x0000, 0x07a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07ad, + 0x07af, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b0, 0x0000, 0x07b1, 0x0000, 0x07b3, + 0x07b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x07b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b8, 0x07bb, 0x0000, 0x07be, + 0x0000, 0x0000, 0x0000, 0x0000, 0x07c0, 0x07c4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x07c6, 0x07d4, 0x07d8, 0x0000, 0x0000, 0x0000, 0x07dc, 0x07dd, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07df, 0x0000, + 0x07e0, 0x07e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x07e5, 0x0000, 0x0000, 0x07e9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07ed, 0x07f4, 0x07f8, 0x0000, 0x07fa, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x07fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x07fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07fe, 0x07ff, + 0x0000, 0x0800, 0x0801, 0x0000, 0x080b, 0x0000, 0x0000, 0x080f, 0x0000, 0x0810, + 0x0811, 0x0000, 0x0000, 0x0812, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0815, 0x0000, 0x0000, 0x0000, 0x0000, 0x0816, 0x0000, 0x0817, 0x0000, 0x0818, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0822, 0x0823, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0825, 0x0000, 0x0826, 0x0828, 0x0829, 0x0839, 0x0000, 0x0000, + 0x0000, 0x0000, 0x083b, 0x0000, 0x0000, 0x0844, 0x0845, 0x0000, 0x0848, 0x0000, + 0x0000, 0x084a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x084b, 0x0000, 0x0000, + 0x084d, 0x084f, 0x0850, 0x0000, 0x0000, 0x0000, 0x0852, 0x0000, 0x0000, 0x0000, + 0x0859, 0x085b, 0x085c, 0x085d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0860, 0x0861, 0x0000, 0x0000, 0x0862, 0x0865, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0866, 0x0000, 0x0000, 0x0867, 0x086e, 0x0000, 0x086f, + 0x0000, 0x0870, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0871, 0x0872, + 0x0000, 0x0000, 0x0892, 0x089a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x089d, 0x08a9, 0x0000, 0x08ac, 0x0000, 0x08ad, 0x0000, 0x08ae, 0x08b0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x08bd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08be, + 0x0000, 0x08bf, 0x08c1, 0x0000, 0x0000, 0x08c2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x08c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08cc, 0x0000, + 0x0000, 0x08cd, 0x0000, 0x0000, 0x0000, 0x08d1, 0x08d2, 0x0000, 0x0000, 0x0000, + 0x08d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08d6, 0x0000, + 0x08d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08dd, 0x08de, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08df, 0x0000, 0x08e1, + 0x0000, 0x0000, 0x0000, 0x0000, 0x08e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x08e6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x08e7, 0x0000, 0x08e8, 0x0000, 0x08eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08ef, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08f1, 0x08f2, 0x0000, 0x0000, 0x0000, + 0x0000, 0x08f3, 0x0000, 0x08f4, 0x0000, 0x0000, 0x0000, 0x08f5, 0x08f7, 0x08f8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08fa, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x08ff, 0x0000, 0x0901, 0x0000, 0x0000, 0x0902, 0x0000, + 0x0903, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0909, 0x090a, 0x090b, 0x090c, 0x0000, 0x0000, 0x090e, + 0x0000, 0x090f, 0x0000, 0x0912, 0x0000, 0x0000, 0x0913, 0x0000, 0x0914, 0x0000, + 0x0916, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x091f, 0x0000, + 0x0920, 0x0922, 0x0923, 0x0000, 0x0924, 0x0000, 0x0000, 0x0000, 0x0933, 0x0000, + 0x0947, 0x0000, 0x094e, 0x0952, 0x0000, 0x0953, 0x0000, 0x0000, 0x095a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x095b, 0x0000, 0x095d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x095e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x095f, + 0x0962, 0x0964, 0x0968, 0x096b, 0x0000, 0x0000, 0x0000, 0x096d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x096f, 0x0000, 0x0000, 0x0970, 0x0971, 0x0973, 0x0000, 0x0974, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0979, 0x0000, 0x0000, 0x0000, 0x097a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x097b, 0x097c, 0x0000, 0x097d, 0x0000, 0x0000, 0x097e, 0x0982, + 0x0000, 0x0984, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0989, 0x098a, + 0x0000, 0x098d, 0x0000, 0x0000, 0x098e, 0x0999, 0x0000, 0x099b, 0x0000, 0x0000, + 0x099e, 0x0000, 0x09a0, 0x0000, 0x09ad, 0x0000, 0x09ae, 0x09b6, 0x0000, 0x0000, + 0x0000, 0x09bb, 0x0000, 0x0000, 0x09bd, 0x0000, 0x0000, 0x09be, 0x0000, 0x09bf, + 0x0000, 0x09d1, 0x09db, 0x0000, 0x0000, 0x0000, 0x0000, 0x09dc, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x09e0, 0x09e1, 0x09e2, 0x0000, 0x0000, 0x09e3, + 0x0000, 0x09e5, 0x0000, 0x0000, 0x09e6, 0x09e7, 0x0000, 0x09e8, 0x09e9, 0x0000, + 0x09ea, 0x0000, 0x09eb, 0x09ec, 0x0000, 0x0000, 0x0000, 0x09f1, 0x09f2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09f4, 0x0000, 0x0000, 0x09f5, + 0x0000, 0x09f6, 0x09fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09fd, 0x0000, + 0x0a00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a01, 0x0000, 0x0a10, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0a11, 0x0a12, 0x0000, 0x0000, 0x0000, 0x0a13, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a14, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a15, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a17, 0x0000, 0x0a18, + 0x0000, 0x0a1c, 0x0a1e, 0x0000, 0x0000, 0x0000, 0x0a1f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0a21, 0x0a22, 0x0000, 0x0a23, 0x0000, 0x0a29, 0x0a2a, 0x0000, 0x0000, + 0x0a2b, 0x0000, 0x0a2d, 0x0000, 0x0000, 0x0000, 0x0a2e, 0x0a2f, 0x0a33, 0x0000, + 0x0a37, 0x0000, 0x0000, 0x0000, 0x0a39, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a3b, 0x0000, + 0x0000, 0x0a3c, 0x0000, 0x0000, 0x0000, 0x0a3d, 0x0000, 0x0a3f, 0x0000, 0x0a41, + 0x0000, 0x0000, 0x0a44, 0x0a45, 0x0000, 0x0000, 0x0a4b, 0x0a4c, 0x0a4d, 0x0000, + 0x0000, 0x0a4f, 0x0000, 0x0000, 0x0000, 0x0a52, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0a53, 0x0000, 0x0a54, 0x0000, 0x0a59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0a5f, 0x0a60, 0x0000, 0x0000, 0x0a61, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0a62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a63, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0a68, 0x0a7d, 0x0000, 0x0a7f, 0x0000, 0x0a80, 0x0000, 0x0000, + 0x0a81, 0x0000, 0x0000, 0x0a86, 0x0000, 0x0a87, 0x0000, 0x0000, 0x0a8a, 0x0000, + 0x0a8d, 0x0a92, 0x0000, 0x0000, 0x0000, 0x0a93, 0x0000, 0x0a95, 0x0a96, 0x0a97, + 0x0000, 0x0000, 0x0000, 0x0aa0, 0x0aaa, 0x0aaf, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0ab2, 0x0ab4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0abb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0abc, 0x0000, 0x0000, 0x0abd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0abe, 0x0000, 0x0000, 0x0ac0, 0x0ac2, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0ac6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aca, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0acb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0acc, 0x0acf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ad0, 0x0000, 0x0000, 0x0ad2, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ad3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ad4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0ad5, 0x0ad8, 0x0000, 0x0000, 0x0adf, 0x0000, 0x0000, + 0x0ae0, 0x0000, 0x0ae5, 0x0000, 0x0ae6, 0x0000, 0x0000, 0x0000, 0x0ae8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ae9, + 0x0aeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aec, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0aed, 0x0aef, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0af3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0af6, 0x0000, 0x0af7, 0x0af8, 0x0b01, + 0x0b03, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b05, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0b06, 0x0b07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0b08, 0x0000, 0x0000, 0x0b0c, 0x0000, 0x0b12, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0b14, 0x0000, 0x0b16, 0x0000, 0x0000, 0x0b17, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b19, 0x0000, 0x0000, 0x0000, 0x0b1a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b1b, 0x0b1c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0b1e, 0x0000, 0x0000, 0x0b1f, 0x0000, 0x0b21, 0x0000, 0x0b25, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0b29, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b2a, + 0x0000, 0x0b2b, 0x0000, 0x0000, 0x0b2c, 0x0000, 0x0b2e, 0x0b34, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0b3b, 0x0000, 0x0b3c, 0x0000, 0x0000, 0x0b3d, 0x0b3e, 0x0b44, + 0x0b49, 0x0b4a, 0x0000, 0x0000, 0x0b4b, 0x0000, 0x0000, 0x0b4c, 0x0000, 0x0000, + 0x0000, 0x0b5a, 0x0b60, 0x0000, 0x0b61, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0b64, 0x0000, 0x0b76, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0b77, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b7b, 0x0000, 0x0b7c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b7d, 0x0000, 0x0000, 0x0000, + 0x0b82, 0x0000, 0x0b85, 0x0000, 0x0000, 0x0b86, 0x0b8a, 0x0b8b, 0x0000, 0x0000, + 0x0000, 0x0b8f, 0x0b91, 0x0000, 0x0000, 0x0b92, 0x0000, 0x0b93, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0b94, 0x0b95, 0x0b96, 0x0b97, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b99, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0b9a, 0x0b9f, 0x0000, 0x0ba6, 0x0ba7, 0x0ba8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0bad, 0x0000, 0x0000, 0x0bae, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0baf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0bb6, 0x0000, 0x0bb8, 0x0bb9, 0x0000, 0x0000, 0x0bba, 0x0000, + 0x0000, 0x0000, 0x0bbb, 0x0000, 0x0000, 0x0bc4, 0x0000, 0x0000, 0x0bce, 0x0000, + 0x0000, 0x0bd0, 0x0000, 0x0000, 0x0bd1, 0x0bd3, 0x0000, 0x0000, 0x0000, 0x0bd6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0bda, 0x0bdb, 0x0000, 0x0000, 0x0bdc, 0x0000, + 0x0bdf, 0x0000, 0x0be9, 0x0000, 0x0000, 0x0bea, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0beb, 0x0000, 0x0bed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bf1, + 0x0000, 0x0bf2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0bf7, 0x0000, 0x0000, 0x0c01, 0x0c02, 0x0c06, 0x0c07, 0x0000, 0x0c08, 0x0c0e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c0f, 0x0000, + 0x0c14, 0x0000, 0x0c17, 0x0000, 0x0c1b, 0x0000, 0x0000, 0x0000, 0x0c1c, 0x0000, + 0x0c1d, 0x0c1e, 0x0000, 0x0c32, 0x0000, 0x0000, 0x0000, 0x0c34, 0x0000, 0x0c35, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c3c, 0x0c3e, 0x0000, 0x0000, + 0x0c40, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c4b, 0x0000, + 0x0000, 0x0c4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c4e, 0x0c4f, 0x0c50, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0c56, 0x0000, 0x0000, 0x0c58, 0x0000, 0x0000, + 0x0c59, 0x0000, 0x0000, 0x0c5a, 0x0000, 0x0c5b, 0x0c5e, 0x0c60, 0x0000, 0x0000, + 0x0c61, 0x0c62, 0x0000, 0x0000, 0x0c63, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0c6e, 0x0000, 0x0c70, 0x0000, 0x0000, 0x0c74, 0x0000, 0x0000, + 0x0c7a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0c89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0c90, 0x0c91, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0c93, 0x0000, 0x0000, 0x0c94, 0x0c96, 0x0000, 0x0c97, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0c98, 0x0000, 0x0c99, 0x0c9a, 0x0000, 0x0c9c, + 0x0ca1, 0x0000, 0x0ca7, 0x0ca9, 0x0caa, 0x0000, 0x0000, 0x0cb3, 0x0cb4, 0x0cb5, + 0x0cb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cbc, + 0x0000, 0x0000, 0x0cbd, 0x0000, 0x0000, 0x0000, 0x0cc3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cc7, 0x0000, 0x0000, 0x0000, 0x0cce, + 0x0000, 0x0cd2, 0x0000, 0x0000, 0x0000, 0x0cd4, 0x0000, 0x0000, 0x0000, 0x0cd5, + 0x0cd6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cd7, 0x0cdc, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0cde, 0x0ce0, 0x0000, 0x0000, 0x0ce3, 0x0ce4, + 0x0ce5, 0x0000, 0x0ce6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ce8, 0x0cea, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cec, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cef, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf0, 0x0cf2, 0x0cf3, 0x0000, 0x0cf6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0cfa, 0x0000, 0x0000, 0x0cfc, 0x0cfd, 0x0000, + 0x0000, 0x0cfe, 0x0000, 0x0000, 0x0d00, 0x0d01, 0x0d03, 0x0000, 0x0000, 0x0d07, + 0x0000, 0x0000, 0x0d09, 0x0000, 0x0d0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d0f, + 0x0d13, 0x0000, 0x0000, 0x0000, 0x0d14, 0x0000, 0x0000, 0x0d17, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0d1a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d1b, 0x0000, 0x0000, 0x0d25, 0x0d26, + 0x0d27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d28, 0x0d29, 0x0000, + 0x0d2a, 0x0000, 0x0000, 0x0d2d, 0x0000, 0x0000, 0x0d30, 0x0000, 0x0000, 0x0d31, + 0x0000, 0x0d33, 0x0d3b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d3e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d4a, 0x0000, 0x0d4b, 0x0d6c, + 0x0d6d, 0x0d6f, 0x0000, 0x0000, 0x0d71, 0x0000, 0x0000, 0x0000, 0x0d72, 0x0000, + 0x0000, 0x0d79, 0x0000, 0x0000, 0x0000, 0x0d7a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0d7b, 0x0000, 0x0000, 0x0d7c, 0x0000, 0x0d7d, 0x0d80, + 0x0000, 0x0d81, 0x0000, 0x0000, 0x0d82, 0x0000, 0x0d83, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d84, 0x0000, 0x0000, 0x0d8d, + 0x0d8e, 0x0000, 0x0000, 0x0d93, 0x0000, 0x0000, 0x0000, 0x0d98, 0x0d9f, 0x0da1, + 0x0000, 0x0da2, 0x0000, 0x0000, 0x0da3, 0x0dab, 0x0000, 0x0dac, 0x0000, 0x0000, + 0x0dad, 0x0000, 0x0000, 0x0000, 0x0dae, 0x0000, 0x0dba, 0x0000, 0x0000, 0x0000, + 0x0dbc, 0x0dbd, 0x0000, 0x0000, 0x0000, 0x0dbe, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0dc0, 0x0dc1, 0x0dc2, 0x0000, 0x0000, 0x0dc6, 0x0dca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0dd0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0dd3, 0x0dd5, 0x0000, 0x0000, 0x0dd6, 0x0dd8, + 0x0000, 0x0ddb, 0x0ddc, 0x0000, 0x0000, 0x0dde, 0x0000, 0x0de1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0de2, 0x0000, 0x0de3, 0x0000, 0x0de6, + 0x0000, 0x0de7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0deb, 0x0000, 0x0dfd, 0x0000, 0x0000, 0x0000, 0x0e0f, 0x0000, 0x0000, 0x0000, + 0x0e10, 0x0000, 0x0e11, 0x0000, 0x0e12, 0x0e13, 0x0000, 0x0000, 0x0e16, 0x0e18, + 0x0000, 0x0e1a, 0x0e1b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e1c, 0x0e20, 0x0e23, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e28, 0x0e2c, + 0x0000, 0x0e2d, 0x0e32, 0x0e33, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0e34, 0x0000, 0x0e35, 0x0000, 0x0000, 0x0e36, 0x0e43, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0e44, 0x0e45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e48, + 0x0e49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e4a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0e4b, 0x0000, 0x0e4d, 0x0e4f, 0x0e50, 0x0000, 0x0e51, 0x0000, 0x0e6c, + 0x0000, 0x0000, 0x0000, 0x0e6e, 0x0e70, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e72, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0e74, 0x0000, 0x0000, 0x0e75, 0x0000, 0x0000, 0x0000, + 0x0e7c, 0x0e7d, 0x0000, 0x0000, 0x0000, 0x0e7f, 0x0e80, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0e8b, 0x0000, 0x0e8c, 0x0e8d, 0x0000, 0x0000, 0x0e8e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e90, 0x0e91, 0x0000, 0x0e96, 0x0e97, + 0x0e99, 0x0000, 0x0000, 0x0000, 0x0e9f, 0x0000, 0x0ea1, 0x0000, 0x0000, 0x0ea2, + 0x0000, 0x0000, 0x0ea3, 0x0ea4, 0x0000, 0x0ead, 0x0000, 0x0eaf, 0x0eb6, 0x0eb7, + 0x0000, 0x0eb8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0eb9, 0x0000, 0x0000, 0x0ebb, + 0x0000, 0x0ebe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ebf, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ec0, 0x0000, 0x0ec1, 0x0eca, 0x0000, + 0x0ecc, 0x0ecd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0ecf, 0x0000, 0x0ee3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ee6, + 0x0ee7, 0x0ee8, 0x0eec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0eed, 0x0000, 0x0000, 0x0ef1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0efb, 0x0000, + 0x0000, 0x0f08, 0x0f09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0a, 0x0f0b, 0x0f0d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0f13, 0x0000, 0x0f14, 0x0f16, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0f17, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0f21, 0x0000, 0x0f22, 0x0000, 0x0f23, 0x0f2e, 0x0000, 0x0f2f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0f34, 0x0f49, 0x0000, 0x0f4a, 0x0000, 0x0000, + 0x0000, 0x0f55, 0x0f5b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f5e, 0x0f65, 0x0f66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0f67, 0x0000, 0x0000, 0x0000, 0x0f68, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0f69, 0x0000, 0x0f6b, 0x0000, 0x0000, 0x0000, + 0x0f74, 0x0f75, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0f76, 0x0000, 0x0f77, 0x0f7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f7e, + 0x0000, 0x0000, 0x0000, 0x0f7f, 0x0000, 0x0000, 0x0000, 0x0f80, 0x0f86, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0f87, 0x0f89, 0x0f8a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0f8c, 0x0000, 0x0f91, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0f92, 0x0fab, 0x0000, 0x0000, 0x0fb1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fb2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0fb3, 0x0000, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0fbb, + 0x0fbc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fbf, + 0x0fc2, 0x0000, 0x0000, 0x0fc3, 0x0fc5, 0x0fc7, 0x0fc8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0fdb, 0x0000, 0x0fdc, 0x0fdd, 0x0000, 0x0fde, 0x0fdf, 0x0fe2, + 0x0000, 0x0000, 0x0fe8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ff8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0ffb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ffe, 0x0fff, 0x0000, + 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1002, 0x1003, 0x0000, + 0x0000, 0x0000, 0x1005, 0x0000, 0x1008, 0x0000, 0x0000, 0x0000, 0x1009, 0x100c, + 0x0000, 0x1011, 0x0000, 0x0000, 0x1013, 0x1014, 0x0000, 0x101e, 0x0000, 0x0000, + 0x101f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1020, 0x1024, + 0x1025, 0x0000, 0x1026, 0x0000, 0x0000, 0x0000, 0x1029, 0x0000, 0x0000, 0x102d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1030, 0x1032, 0x1033, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1034, 0x0000, 0x0000, 0x10d7, 0x0000, 0x0000, 0x0000, 0x10da, 0x10e9, + 0x0000, 0x10eb, 0x10ec, 0x0000, 0x10ed, 0x0000, 0x10ee, 0x0000, 0x0000, 0x0000, + 0x10ef, 0x0000, 0x10f0, 0x0000, 0x0000, 0x0000, 0x10f1, 0x0000, 0x0000, 0x0000, + 0x10f6, 0x10f9, 0x10fa, 0x10fe, 0x0000, 0x10ff, 0x1100, 0x0000, 0x1102, 0x1103, + 0x0000, 0x0000, 0x110c, 0x0000, 0x0000, 0x0000, 0x0000, 0x1111, 0x0000, 0x0000, + 0x0000, 0x1115, 0x0000, 0x1116, 0x0000, 0x0000, 0x0000, 0x0000, 0x1119, 0x0000, + 0x0000, 0x0000, 0x0000, 0x111a, 0x0000, 0x0000, 0x0000, 0x111c, 0x0000, 0x0000, + 0x0000, 0x111d, 0x111e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1120, 0x0000, 0x0000, 0x0000, 0x0000, 0x1121, 0x0000, 0x0000, 0x0000, 0x1122, + 0x0000, 0x0000, 0x0000, 0x1127, 0x112e, 0x0000, 0x0000, 0x0000, 0x0000, 0x1137, + 0x1139, 0x0000, 0x0000, 0x0000, 0x0000, 0x113a, 0x0000, 0x0000, 0x113b, 0x0000, + 0x113e, 0x113f, 0x1142, 0x0000, 0x114b, 0x114c, 0x114e, 0x0000, 0x114f, 0x0000, + 0x1160, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1161, 0x0000, 0x0000, 0x0000, + 0x1163, 0x1164, 0x0000, 0x1165, 0x1166, 0x0000, 0x1168, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x116b, 0x0000, 0x116f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1172, 0x0000, 0x1173, 0x0000, 0x1175, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1176, 0x1177, 0x0000, 0x1179, 0x0000, 0x0000, 0x117b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x117d, 0x117e, 0x0000, 0x0000, 0x0000, 0x117f, 0x1181, 0x0000, 0x1182, + 0x0000, 0x1184, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1186, + 0x0000, 0x0000, 0x1188, 0x0000, 0x0000, 0x1191, 0x0000, 0x119c, 0x0000, 0x0000, + 0x119e, 0x119f, 0x0000, 0x11a8, 0x11ab, 0x0000, 0x11ac, 0x0000, 0x11ad, 0x0000, + 0x11af, 0x0000, 0x0000, 0x11b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x11b2, 0x0000, + 0x11b3, 0x0000, 0x0000, 0x11b4, 0x0000, 0x0000, 0x0000, 0x11b5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x11b7, 0x0000, 0x0000, 0x0000, 0x11b8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x11bd, 0x11bf, 0x11c0, 0x11c1, 0x11c3, 0x0000, 0x11c4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x11c6, 0x11c7, 0x0000, 0x11c9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x11d2, 0x0000, 0x0000, 0x11db, 0x0000, 0x0000, 0x0000, 0x11de, + 0x0000, 0x0000, 0x0000, 0x11df, 0x0000, 0x11e0, 0x0000, 0x11e1, 0x0000, 0x0000, + 0x0000, 0x11e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x11e6, 0x0000, 0x0000, + 0x11ea, 0x0000, 0x0000, 0x0000, 0x11ec, 0x0000, 0x0000, 0x11f5, 0x0000, 0x11f6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1208, 0x1209, 0x0000, 0x120a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x120b, 0x0000, 0x120c, 0x0000, 0x0000, 0x120d, 0x0000, 0x1210, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1211, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1231, 0x0000, 0x1233, 0x0000, 0x123b, 0x0000, 0x0000, 0x0000, 0x123c, 0x123e, + 0x0000, 0x1240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1241, 0x1244, 0x0000, + 0x0000, 0x0000, 0x0000, 0x124f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1259, 0x0000, + 0x0000, 0x0000, 0x0000, 0x125b, 0x0000, 0x125d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x125e, 0x0000, 0x0000, 0x1262, 0x0000, 0x0000, 0x1269, 0x0000, 0x0000, 0x0000, + 0x126a, 0x126b, 0x126c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x126d, 0x0000, 0x0000, 0x1270, 0x0000, + 0x1271, 0x1279, 0x127f, 0x0000, 0x0000, 0x0000, 0x1281, 0x0000, 0x0000, 0x0000, + 0x1283, 0x0000, 0x0000, 0x0000, 0x1284, 0x0000, 0x0000, 0x0000, 0x1285, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1286, 0x0000, 0x1289, 0x128a, 0x128b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x128c, 0x0000, 0x0000, + 0x0000, 0x128d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x128f, 0x12b2, 0x0000, 0x12b3, 0x0000, 0x12b4, 0x12bc, + 0x0000, 0x0000, 0x12bd, 0x12be, 0x0000, 0x12bf, 0x12c6, 0x12c7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x12c9, 0x12ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x12cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12cc, 0x0000, 0x12cd, 0x0000, + 0x0000, 0x12cf, 0x0000, 0x12d5, 0x12d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x12d7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x12d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x12da, 0x0000, 0x0000, 0x0000, 0x12dc, + 0x0000, 0x12dd, 0x0000, 0x0000, 0x0000, 0x12eb, 0x0000, 0x0000, 0x12ef, 0x0000, + 0x12f5, 0x12f7, 0x12fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12fb, 0x0000, + 0x1300, 0x0000, 0x0000, 0x130f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1310, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1311, 0x0000, 0x1312, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1313, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1314, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1316, 0x1317, 0x1318, 0x131e, + 0x1320, 0x0000, 0x1326, 0x0000, 0x0000, 0x1329, 0x0000, 0x0000, 0x1333, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1334, 0x1335, 0x1337, 0x1339, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x133e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x133f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1341, + 0x0000, 0x1342, 0x1343, 0x0000, 0x134a, 0x0000, 0x1358, 0x0000, 0x1359, 0x135d, + 0x1360, 0x1364, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x139b, + 0x139c, 0x139e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x139f, 0x0000, 0x0000, + 0x0000, 0x13a0, 0x0000, 0x0000, 0x0000, 0x13a1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x13a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x13a5, 0x13a6, 0x13a7, 0x0000, 0x13a9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13aa, + 0x13ab, 0x0000, 0x13ac, 0x0000, 0x0000, 0x13ad, 0x0000, 0x0000, 0x0000, 0x0000, + 0x13ae, 0x0000, 0x0000, 0x13af, 0x0000, 0x0000, 0x0000, 0x13b1, 0x13b2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x13b4, 0x13b9, 0x13be, 0x0000, 0x13bf, 0x0000, 0x13c1, + 0x0000, 0x0000, 0x0000, 0x13c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13c7, + 0x0000, 0x13c8, 0x13c9, 0x0000, 0x13cb, 0x0000, 0x0000, 0x0000, 0x13cc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13d4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13d5, 0x0000, 0x0000, + 0x13d6, 0x13d8, 0x0000, 0x0000, 0x13db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x13dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x13ea, 0x13eb, 0x13ed, 0x13f1, 0x13f3, 0x0000, 0x13f4, 0x0000, 0x13f5, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13f6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x13fd, 0x13fe, 0x0000, 0x1401, 0x0000, 0x1402, 0x0000, 0x0000, + 0x140a, 0x0000, 0x0000, 0x0000, 0x1411, 0x0000, 0x0000, 0x0000, 0x141c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x141f, 0x1422, 0x0000, 0x0000, + 0x0000, 0x1423, 0x0000, 0x0000, 0x1424, 0x1427, 0x1429, 0x0000, 0x0000, 0x0000, + 0x0000, 0x142a, 0x0000, 0x0000, 0x0000, 0x0000, 0x142b, 0x142c, 0x0000, 0x142e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x142f, 0x0000, 0x0000, 0x0000, 0x1434, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x143a, 0x143b, 0x0000, 0x0000, 0x1446, 0x0000, 0x0000, 0x1447, 0x1448, + 0x144a, 0x0000, 0x0000, 0x144e, 0x1451, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1453, 0x0000, 0x1456, 0x1459, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x145d, 0x0000, 0x145e, 0x1460, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1461, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1462, 0x1463, + 0x0000, 0x146f, 0x0000, 0x0000, 0x147c, 0x1481, 0x0000, 0x1486, 0x0000, 0x1487, + 0x0000, 0x0000, 0x1489, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x148a, 0x0000, + 0x148c, 0x1496, 0x0000, 0x149d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x14a0, 0x14a1, 0x14a2, 0x14a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14a4, + 0x0000, 0x14a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14a7, 0x14a8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14a9, + 0x14ab, 0x0000, 0x0000, 0x14ae, 0x0000, 0x0000, 0x14af, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x14b8, 0x0000, 0x0000, 0x14ba, 0x14bb, 0x14bc, + 0x0000, 0x14bd, 0x0000, 0x0000, 0x14be, 0x0000, 0x0000, 0x0000, 0x0000, 0x14bf, + 0x14c0, 0x0000, 0x14c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14c4, 0x0000, + 0x0000, 0x0000, 0x14c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x14cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14ce, + 0x0000, 0x14cf, 0x14d1, 0x0000, 0x14d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x14da, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14dc, 0x0000, + 0x0000, 0x14dd, 0x0000, 0x0000, 0x0000, 0x14de, 0x0000, 0x14df, 0x14e0, 0x0000, + 0x0000, 0x14e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14e3, 0x14e4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14e5, + 0x0000, 0x14e6, 0x0000, 0x14ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x14ee, 0x0000, + 0x0000, 0x14ef, 0x0000, 0x0000, 0x14f1, 0x0000, 0x0000, 0x14f5, 0x0000, 0x14f7, + 0x0000, 0x14fd, 0x0000, 0x0000, 0x0000, 0x1503, 0x0000, 0x0000, 0x0000, 0x1504, + 0x0000, 0x0000, 0x0000, 0x1506, 0x0000, 0x1508, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1509, 0x0000, 0x0000, 0x0000, 0x0000, 0x150b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x150c, 0x150e, 0x1511, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1514, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1515, 0x151a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x151b, 0x0000, 0x0000, 0x0000, 0x151c, 0x151d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x151e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1522, 0x0000, 0x0000, 0x1523, 0x0000, 0x1527, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1528, 0x153a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x153e, 0x0000, 0x1540, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1541, 0x1542, 0x0000, 0x0000, 0x0000, + 0x1543, 0x1544, 0x1547, 0x0000, 0x0000, 0x1548, 0x1549, 0x154b, 0x0000, 0x0000, + 0x0000, 0x1550, 0x1551, 0x0000, 0x0000, 0x0000, 0x1553, 0x0000, 0x0000, 0x0000, + 0x1555, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1558, 0x0000, 0x155a, 0x0000, 0x0000, + 0x155b, 0x0000, 0x155e, 0x0000, 0x0000, 0x1561, 0x0000, 0x0000, 0x1562, 0x0000, + 0x0000, 0x1564, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1565, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x156c, 0x0000, 0x0000, 0x156d, 0x156e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1570, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1571, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1583, 0x0000, 0x0000, 0x0000, 0x1586, + 0x0000, 0x1587, 0x0000, 0x0000, 0x1588, 0x0000, 0x0000, 0x0000, 0x1589, 0x0000, + 0x158b, 0x0000, 0x0000, 0x158c, 0x158d, 0x0000, 0x158e, 0x0000, 0x0000, 0x1592, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x159e, 0x159f, 0x0000, 0x0000, 0x15a0, + 0x0000, 0x15a2, 0x0000, 0x0000, 0x15a7, 0x0000, 0x15a8, 0x0000, 0x0000, 0x15a9, + 0x0000, 0x15ab, 0x0000, 0x15b5, 0x0000, 0x0000, 0x15b6, 0x0000, 0x15b8, 0x15bf, + 0x0000, 0x0000, 0x0000, 0x0000, 0x15c0, 0x0000, 0x0000, 0x0000, 0x15c3, 0x15c5, + 0x0000, 0x15c6, 0x0000, 0x15c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x15c9, 0x0000, + 0x0000, 0x15de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x15e0, 0x15e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x15ea, 0x0000, 0x0000, + 0x15ec, 0x0000, 0x15f8, 0x0000, 0x15f9, 0x0000, 0x0000, 0x0000, 0x15fd, 0x0000, + 0x1609, 0x0000, 0x160a, 0x160b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1613, 0x0000, 0x0000, 0x0000, 0x1614, 0x1615, 0x0000, 0x161d, 0x161e, 0x162e, + 0x0000, 0x162f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1635, 0x1636, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x163a, 0x163c, 0x0000, 0x1647, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x164a, 0x0000, 0x0000, 0x0000, 0x0000, 0x164b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x164c, 0x0000, 0x0000, 0x164d, 0x0000, 0x164e, + 0x0000, 0x0000, 0x0000, 0x1650, 0x0000, 0x1665, 0x0000, 0x1666, 0x1667, 0x0000, + 0x0000, 0x1670, 0x1677, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1678, 0x0000, 0x167a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x167d, 0x167e, 0x0000, 0x1680, 0x1681, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1683, 0x1684, 0x1685, 0x0000, 0x1686, 0x0000, 0x1687, + 0x1688, 0x0000, 0x168a, 0x0000, 0x0000, 0x0000, 0x0000, 0x1690, 0x1694, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1696, 0x0000, 0x0000, 0x0000, 0x0000, 0x1698, 0x0000, + 0x0000, 0x169c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x16a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16a7, + 0x0000, 0x0000, 0x16a9, 0x0000, 0x0000, 0x0000, 0x16b3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x16b8, 0x0000, 0x0000, 0x16c3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16c6, 0x16c7, 0x0000, 0x0000, 0x16c8, + 0x0000, 0x0000, 0x16c9, 0x0000, 0x16cb, 0x16d4, 0x16d5, 0x0000, 0x16d6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x16da, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x16dc, 0x0000, 0x16df, 0x16e1, 0x0000, 0x0000, 0x16e3, 0x0000, 0x16e5, 0x0000, + 0x0000, 0x16e7, 0x0000, 0x16e9, 0x0000, 0x0000, 0x0000, 0x16f1, 0x16f3, 0x0000, + 0x0000, 0x0000, 0x16f5, 0x0000, 0x16f7, 0x0000, 0x0000, 0x0000, 0x1700, 0x0000, + 0x0000, 0x1701, 0x1703, 0x0000, 0x1706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1707, 0x0000, 0x1709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1713, 0x0000, 0x1717, 0x0000, 0x0000, 0x1718, 0x0000, 0x1719, 0x1722, 0x1724, + 0x0000, 0x1727, 0x1728, 0x0000, 0x0000, 0x0000, 0x0000, 0x1729, 0x172a, 0x0000, + 0x172d, 0x0000, 0x0000, 0x0000, 0x0000, 0x173d, 0x0000, 0x0000, 0x173f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1741, 0x0000, 0x0000, + 0x1742, 0x0000, 0x1747, 0x1748, 0x1749, 0x0000, 0x174c, 0x0000, 0x0000, 0x0000, + 0x1758, 0x175a, 0x1763, 0x1766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1767, + 0x0000, 0x1768, 0x0000, 0x0000, 0x0000, 0x176a, 0x176b, 0x0000, 0x0000, 0x176c, + 0x0000, 0x0000, 0x1771, 0x1773, 0x0000, 0x0000, 0x0000, 0x0000, 0x1777, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1778, 0x0000, 0x0000, 0x1779, 0x0000, 0x177a, + 0x0000, 0x0000, 0x0000, 0x177b, 0x177f, 0x0000, 0x1781, 0x0000, 0x1783, 0x0000, + 0x1787, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1789, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x178a, + 0x0000, 0x178e, 0x0000, 0x0000, 0x1790, 0x0000, 0x0000, 0x0000, 0x1791, 0x1796, + 0x1798, 0x0000, 0x0000, 0x0000, 0x1799, 0x179d, 0x0000, 0x0000, 0x179e, 0x0000, + 0x0000, 0x17a5, 0x0000, 0x0000, 0x17a6, 0x0000, 0x17a7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x17a9, 0x0000, 0x17af, 0x0000, 0x0000, 0x0000, 0x17b0, + 0x0000, 0x17b2, 0x17b7, 0x17b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x17bb, 0x17bc, 0x0000, 0x0000, 0x17bd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x17be, 0x17bf, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x17c0, 0x0000, 0x17c3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x17c4, 0x0000, 0x0000, 0x17c8, 0x0000, 0x17c9, 0x0000, 0x0000, + 0x17cd, 0x17d9, 0x0000, 0x0000, 0x17db, 0x0000, 0x17de, 0x0000, 0x0000, 0x0000, + 0x17df, 0x17ed, 0x17ee, 0x0000, 0x0000, 0x0000, 0x17f1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x17f2, 0x0000, 0x0000, 0x0000, 0x17f3, 0x17f6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x17fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1800, + 0x0000, 0x0000, 0x1802, 0x1807, 0x1809, 0x0000, 0x180c, 0x0000, 0x1813, 0x0000, + 0x1824, 0x1825, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1826, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1828, 0x1833, 0x0000, 0x0000, 0x183e, 0x0000, 0x1840, 0x0000, + 0x0000, 0x1844, 0x1845, 0x1846, 0x0000, 0x1847, 0x0000, 0x0000, 0x0000, 0x1854, + 0x0000, 0x0000, 0x0000, 0x185a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x185b, 0x1860, 0x0000, 0x1862, 0x1863, 0x1864, 0x0000, 0x186a, 0x186f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1871, 0x0000, 0x0000, 0x0000, 0x1872, 0x1886, + 0x0000, 0x188c, 0x0000, 0x0000, 0x0000, 0x188d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x188e, 0x0000, 0x0000, 0x0000, 0x18b0, 0x0000, + 0x0000, 0x18b2, 0x18bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x18be, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18bf, + 0x0000, 0x0000, 0x18c1, 0x0000, 0x18c2, 0x0000, 0x18c3, 0x18c4, 0x0000, 0x0000, + 0x18d4, 0x18d5, 0x18e1, 0x0000, 0x0000, 0x0000, 0x18e2, 0x18e3, 0x18e4, 0x0000, + 0x18e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x18ee, 0x18ef, 0x18f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x18f2, + 0x0000, 0x18f5, 0x18fd, 0x1900, 0x190b, 0x0000, 0x190e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x190f, 0x1910, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1911, 0x0000, 0x0000, 0x0000, 0x0000, 0x1912, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1914, 0x0000, 0x1915, 0x1917, 0x1919, + 0x0000, 0x191d, 0x191e, 0x0000, 0x1921, 0x1926, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1927, 0x1928, 0x0000, 0x0000, + 0x1929, 0x0000, 0x0000, 0x192c, 0x0000, 0x0000, 0x0000, 0x0000, 0x192e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x192f, 0x1930, 0x0000, 0x0000, 0x1932, 0x0000, 0x0000, + 0x0000, 0x1936, 0x0000, 0x0000, 0x1937, 0x0000, 0x193d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x193e, 0x0000, 0x0000, 0x193f, 0x0000, 0x1940, 0x0000, + 0x1941, 0x1943, 0x0000, 0x0000, 0x0000, 0x1944, 0x0000, 0x194f, 0x1950, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1951, 0x0000, 0x0000, 0x1955, + 0x1957, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x195d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x195e, 0x195f, 0x1960, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1962, 0x0000, 0x0000, 0x0000, 0x196b, 0x196c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x196f, 0x1970, 0x0000, 0x0000, 0x0000, 0x0000, 0x1971, 0x0000, 0x0000, 0x0000, + 0x1972, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1974, 0x0000, 0x0000, 0x1975, + 0x1976, 0x0000, 0x0000, 0x0000, 0x1977, 0x1978, 0x1979, 0x0000, 0x197b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x197c, 0x1980, 0x0000, 0x1982, 0x0000, 0x0000, 0x1984, + 0x0000, 0x19b2, 0x0000, 0x0000, 0x0000, 0x19b7, 0x0000, 0x19b8, 0x0000, 0x0000, + 0x0000, 0x19bb, 0x0000, 0x0000, 0x0000, 0x19be, 0x0000, 0x19bf, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x19c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x19c1, 0x19c2, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19c7, 0x19c8, 0x0000, 0x0000, 0x19c9, + 0x19ca, 0x19cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19d0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19d2, 0x19d3, 0x0000, 0x19d7, 0x0000, + 0x19d8, 0x19da, 0x19dc, 0x0000, 0x19ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x19ef, + 0x0000, 0x0000, 0x0000, 0x0000, 0x19f1, 0x0000, 0x19f2, 0x0000, 0x0000, 0x0000, + 0x19f7, 0x0000, 0x1a04, 0x1a07, 0x0000, 0x1a08, 0x0000, 0x1a0a, 0x1a0d, 0x0000, + 0x1a13, 0x1a14, 0x1a15, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1a16, 0x0000, 0x0000, 0x0000, 0x1a17, 0x0000, 0x1a18, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a25, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a30, 0x1a31, 0x1a32, 0x0000, + 0x0000, 0x1a37, 0x1a39, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a3c, 0x0000, + 0x0000, 0x0000, 0x1a3d, 0x0000, 0x1a3f, 0x1a44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1a45, 0x1a46, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1a48, 0x1a49, 0x1a4f, 0x0000, 0x1a51, 0x1a56, 0x0000, 0x0000, 0x1a57, + 0x1a5e, 0x0000, 0x1a5f, 0x0000, 0x0000, 0x1a60, 0x1a61, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1a62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a64, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a6b, 0x0000, 0x0000, 0x1a6c, + 0x1a6d, 0x0000, 0x0000, 0x0000, 0x1a72, 0x0000, 0x0000, 0x0000, 0x1a78, 0x1a7c, + 0x0000, 0x1a7d, 0x0000, 0x0000, 0x0000, 0x1a7f, 0x0000, 0x1a80, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a81, 0x0000, 0x0000, + 0x0000, 0x1a88, 0x0000, 0x0000, 0x0000, 0x1a89, 0x0000, 0x0000, 0x1a92, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1a93, 0x0000, 0x0000, 0x0000, 0x1a94, 0x0000, + 0x0000, 0x0000, 0x1a9c, 0x0000, 0x0000, 0x1aa7, 0x0000, 0x1aa8, 0x1ab7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1ac4, 0x0000, 0x0000, 0x1ac6, 0x0000, 0x1ac8, 0x1ac9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ad3, + 0x0000, 0x1ad4, 0x1ad6, 0x1ad8, 0x0000, 0x0000, 0x0000, 0x1ad9, 0x1ada, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1adb, 0x0000, 0x0000, 0x1add, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ade, 0x0000, 0x0000, 0x0000, 0x1adf, + 0x0000, 0x1ae0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1ae7, 0x0000, 0x1ae8, 0x1aeb, 0x1aed, 0x0000, 0x1aef, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1af3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1af5, 0x0000, 0x0000, 0x0000, 0x0000, 0x1afe, 0x0000, 0x1aff, + 0x0000, 0x0000, 0x1b00, 0x0000, 0x0000, 0x1b01, 0x1b02, 0x0000, 0x0000, 0x0000, + 0x1b03, 0x0000, 0x0000, 0x0000, 0x1b04, 0x1b07, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1b0c, 0x0000, 0x1b0d, 0x0000, 0x0000, 0x0000, 0x1b0e, 0x1b0f, + 0x1b10, 0x0000, 0x1b11, 0x0000, 0x1b12, 0x0000, 0x0000, 0x1b13, 0x1b17, 0x0000, + 0x1b18, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b1b, 0x1b1c, 0x1b1d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1b1e, 0x1b24, 0x1b25, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1b28, 0x1b2a, 0x1b33, 0x1b35, 0x1b36, 0x0000, 0x0000, + 0x1b37, 0x1b38, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1b39, 0x0000, 0x0000, 0x1b3a, 0x1b43, 0x0000, 0x0000, 0x1b44, 0x0000, + 0x0000, 0x1b47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b48, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b4c, 0x1b4e, 0x1b50, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b53, 0x0000, 0x0000, 0x0000, 0x1b64, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b6b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b6d, 0x0000, + 0x0000, 0x1b6e, 0x1b6f, 0x1b74, 0x0000, 0x1b76, 0x1b79, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1b7e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1b7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1b86, 0x0000, 0x1b87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1b88, 0x1b8c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1b8e, 0x0000, 0x1b94, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b95, 0x0000, + 0x1b99, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b9b, 0x1b9d, 0x0000, 0x1b9e, 0x1b9f, + 0x1ba0, 0x0000, 0x0000, 0x1ba6, 0x0000, 0x1ba8, 0x1ba9, 0x0000, 0x1bab, 0x0000, + 0x0000, 0x0000, 0x1bac, 0x1baf, 0x1bb0, 0x0000, 0x0000, 0x1bb2, 0x0000, 0x1bb5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bc3, 0x0000, 0x0000, 0x1bc4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bc6, 0x0000, 0x1bca, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bcb, 0x0000, 0x1bcc, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bcd, 0x0000, 0x0000, 0x1bce, 0x0000, + 0x0000, 0x1bd4, 0x0000, 0x1bd5, 0x0000, 0x0000, 0x1bd6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1bd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bd9, 0x0000, 0x1bda, + 0x0000, 0x1bdc, 0x1bdd, 0x0000, 0x0000, 0x1bde, 0x0000, 0x0000, 0x1be3, 0x0000, + 0x1bec, 0x1bee, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bf0, 0x0000, 0x0000, 0x0000, + 0x1bf1, 0x1bf4, 0x1bf5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bf6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bfb, + 0x1bfd, 0x1c01, 0x0000, 0x1c03, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c04, 0x0000, 0x1c05, 0x1c0d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1c0e, 0x1c11, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c13, 0x0000, + 0x1c21, 0x1c24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c26, 0x1c27, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1c2b, 0x1c30, 0x0000, 0x1c32, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1c3a, 0x1c3c, 0x1c3e, 0x1c40, 0x1c41, 0x1c43, 0x1c45, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1c46, 0x1c49, 0x0000, 0x1c4a, 0x0000, 0x0000, 0x1c4f, 0x0000, + 0x0000, 0x0000, 0x1c62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1c79, 0x0000, 0x0000, 0x1c7a, 0x1c7b, 0x0000, 0x0000, 0x1c7c, 0x0000, 0x1c81, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1c84, 0x0000, 0x1c85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c86, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1c89, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c8b, 0x0000, 0x1c8c, 0x0000, 0x1c8e, + 0x0000, 0x1ca7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ca9, + 0x0000, 0x1caf, 0x1cb3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cb4, 0x0000, + 0x1cb5, 0x1cb6, 0x1cb8, 0x1cba, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cbd, 0x0000, + 0x1cbe, 0x1cc6, 0x0000, 0x1cc7, 0x1cc8, 0x0000, 0x0000, 0x1ccd, 0x0000, 0x0000, + 0x0000, 0x1cce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cd0, + 0x0000, 0x0000, 0x0000, 0x1cd1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cd2, + 0x0000, 0x1cd3, 0x1cd4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cd7, 0x0000, + 0x0000, 0x1cda, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ce6, 0x0000, 0x0000, 0x0000, + 0x1ce7, 0x1ce8, 0x0000, 0x1ce9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1cea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ced, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1cee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1cfd, 0x1d03, 0x1d05, 0x0000, 0x0000, 0x0000, 0x1d0b, 0x0000, + 0x0000, 0x1d0c, 0x0000, 0x0000, 0x0000, 0x1d0d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1d0e, 0x1d13, 0x0000, 0x1d16, 0x0000, 0x1d18, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d20, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1d21, 0x0000, 0x0000, 0x1d25, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1d26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d27, 0x1d2a, + 0x1d30, 0x0000, 0x1d34, 0x0000, 0x0000, 0x1d42, 0x0000, 0x1d43, 0x0000, 0x0000, + 0x1d45, 0x0000, 0x0000, 0x0000, 0x1d4a, 0x1d4b, 0x0000, 0x0000, 0x1d54, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1d58, 0x0000, 0x0000, 0x0000, 0x1d59, 0x1d5a, + 0x1d5c, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d5e, 0x0000, 0x0000, 0x1d5f, 0x1d61, + 0x1d62, 0x0000, 0x0000, 0x0000, 0x1d66, 0x0000, 0x0000, 0x1d69, 0x0000, 0x0000, + 0x1d6b, 0x0000, 0x1d70, 0x0000, 0x1d72, 0x0000, 0x1d73, 0x0000, 0x0000, 0x1d75, + 0x1d76, 0x1d7a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d7b, 0x0000, 0x1d7c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d7e, 0x0000, 0x0000, 0x1d80, 0x1d81, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1d82, 0x1d8b, 0x0000, 0x1d95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1d96, 0x1d98, 0x0000, 0x1d9a, 0x1d9d, 0x1d9f, 0x0000, 0x0000, 0x0000, 0x1da0, + 0x0000, 0x1da3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1da5, 0x0000, 0x0000, + 0x0000, 0x1daa, 0x0000, 0x0000, 0x1dab, 0x0000, 0x0000, 0x1db0, 0x1db2, 0x1dba, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1dbc, 0x0000, 0x1dbd, 0x1dbe, 0x0000, + 0x0000, 0x1dbf, 0x0000, 0x0000, 0x1dc0, 0x0000, 0x1dc4, 0x0000, 0x1dc5, 0x1dc6, + 0x0000, 0x1dc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x1dca, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1dcb, 0x1dcd, 0x1dcf, 0x0000, 0x0000, 0x1dd1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1dd7, 0x0000, 0x1dd8, 0x1dda, 0x0000, 0x0000, 0x1ddb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1ddc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1ddd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ded, 0x1dee, 0x1def, + 0x1df1, 0x0000, 0x1df2, 0x0000, 0x1df3, 0x0000, 0x1e04, 0x1e08, 0x1e0a, 0x0000, + 0x1e0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e0c, 0x0000, 0x0000, + 0x1e14, 0x0000, 0x1e1b, 0x0000, 0x1e1c, 0x0000, 0x1e1d, 0x0000, 0x1e29, 0x0000, + 0x0000, 0x0000, 0x1e2a, 0x0000, 0x1e2c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1e31, 0x1e33, 0x0000, 0x1e34, 0x0000, 0x1e35, 0x1e37, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e3b, 0x0000, 0x0000, 0x1e3d, 0x1e41, + 0x0000, 0x1e44, 0x0000, 0x0000, 0x0000, 0x1e47, 0x0000, 0x0000, 0x0000, 0x1e48, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e49, 0x0000, 0x0000, + 0x1e4c, 0x0000, 0x1e4d, 0x0000, 0x1e4f, 0x0000, 0x1e50, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1e51, 0x1e58, 0x0000, 0x0000, 0x1e59, 0x0000, 0x0000, 0x1e5a, 0x0000, + 0x0000, 0x1e5b, 0x0000, 0x0000, 0x1e5c, 0x0000, 0x0000, 0x1e5d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1e62, 0x1e67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1e68, 0x1e69, 0x0000, 0x1e6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e70, 0x0000, + 0x1e76, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e77, 0x0000, 0x1e82, 0x0000, + 0x0000, 0x1e85, 0x0000, 0x1e86, 0x0000, 0x1e88, 0x0000, 0x1e8a, 0x1e90, 0x1e91, + 0x1e92, 0x0000, 0x1e94, 0x1e96, 0x0000, 0x0000, 0x0000, 0x1ea0, 0x0000, 0x1ea2, + 0x0000, 0x1ea3, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ea4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1ea6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1eb0, 0x1eb1, 0x1eb2, 0x1eb6, 0x0000, 0x1eb9, 0x0000, 0x0000, 0x1eba, 0x0000, + 0x0000, 0x1ee9, 0x0000, 0x0000, 0x0000, 0x0000, 0x1eea, 0x0000, 0x0000, 0x1eeb, + 0x1eed, 0x1eee, 0x1eef, 0x0000, 0x1ef0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1ef1, 0x1ef2, 0x0000, 0x1ef4, 0x0000, 0x0000, 0x1ef5, 0x0000, 0x0000, 0x1ef7, + 0x0000, 0x1efa, 0x1eff, 0x0000, 0x0000, 0x1f01, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1f03, 0x0000, 0x1f04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1f05, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f09, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1f0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f0e, + 0x0000, 0x1f11, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f20, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1f21, 0x1f24, 0x1f38, 0x0000, 0x1f39, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1f3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f47, 0x1f48, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f4a, + 0x0000, 0x0000, 0x0000, 0x1f4c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1f52, 0x0000, 0x1f5c, 0x1f5d, 0x0000, 0x0000, 0x1f5e, 0x0000, + 0x0000, 0x1f60, 0x1f61, 0x0000, 0x0000, 0x1f62, 0x1f64, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f65, 0x0000, 0x0000, + 0x0000, 0x1f6b, 0x1f74, 0x1f7b, 0x1f7c, 0x0000, 0x0000, 0x1f7d, 0x0000, 0x0000, + 0x0000, 0x1f7e, 0x0000, 0x1f7f, 0x0000, 0x1f80, 0x0000, 0x1f82, 0x1f84, 0x0000, + 0x0000, 0x0000, 0x1f90, 0x1f91, 0x0000, 0x1f99, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1f9c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f9d, 0x1fae, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1faf, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1fb0, 0x1fb3, 0x0000, 0x1fb5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1fb8, 0x1fb9, 0x1fba, 0x1fc0, 0x1fc1, 0x1fc2, 0x1fc3, + 0x0000, 0x0000, 0x1fcb, 0x0000, 0x0000, 0x1fd0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1fd1, 0x1fd2, 0x1fd9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1fda, 0x0000, 0x1fdd, 0x1fe0, 0x1fe2, 0x0000, 0x1fe4, 0x1fe5, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1fe6, 0x1fe7, 0x0000, 0x0000, 0x1ff3, 0x0000, 0x0000, + 0x0000, 0x1ff9, 0x0000, 0x0000, 0x0000, 0x1ffa, 0x0000, 0x0000, 0x1ffb, 0x0000, + 0x0000, 0x0000, 0x1ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x200c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2015, + 0x0000, 0x2016, 0x0000, 0x0000, 0x2017, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x201a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x201b, 0x0000, 0x201d, 0x0000, 0x0000, 0x201e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2021, 0x0000, 0x0000, 0x0000, 0x2029, 0x0000, 0x0000, + 0x2032, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2037, 0x0000, 0x2038, 0x203c, 0x0000, 0x2040, 0x2041, 0x0000, + 0x0000, 0x2045, 0x0000, 0x2048, 0x2049, 0x0000, 0x0000, 0x0000, 0x0000, 0x204b, + 0x0000, 0x0000, 0x0000, 0x204d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x204e, 0x0000, 0x0000, 0x0000, 0x2056, 0x0000, 0x2057, + 0x205b, 0x0000, 0x0000, 0x205d, 0x205e, 0x2061, 0x2064, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2065, 0x2067, 0x206b, 0x206c, 0x206d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2070, 0x2073, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2081, 0x0000, 0x0000, 0x0000, 0x2082, 0x2083, 0x2085, 0x2086, 0x2087, + 0x0000, 0x0000, 0x208c, 0x2092, 0x0000, 0x0000, 0x2094, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x209e, 0x0000, 0x0000, 0x209f, 0x0000, 0x20a2, 0x20a3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x20a8, 0x20b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x20b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x20bc, 0x0000, + 0x0000, 0x0000, 0x20bf, 0x0000, 0x20c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x20c2, + 0x20c8, 0x0000, 0x0000, 0x20ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x20cc, 0x20cd, 0x0000, 0x20ce, 0x0000, 0x20cf, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x20d0, 0x0000, 0x20d1, 0x20da, 0x20db, 0x0000, 0x20dc, 0x20dd, + 0x20e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x20e7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x20e8, 0x0000, 0x0000, 0x20e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x20f9, 0x20fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20fb, + 0x0000, 0x0000, 0x20fc, 0x0000, 0x20ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x2103, + 0x0000, 0x210a, 0x0000, 0x210e, 0x0000, 0x0000, 0x2114, 0x0000, 0x2115, 0x0000, + 0x0000, 0x0000, 0x2116, 0x0000, 0x2119, 0x211f, 0x2120, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2121, 0x2123, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2124, 0x0000, 0x0000, 0x212a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x212b, 0x212d, 0x212e, 0x0000, 0x2150, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2152, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2156, 0x215a, 0x215c, 0x0000, 0x0000, 0x215d, 0x0000, + 0x0000, 0x2161, 0x0000, 0x216d, 0x0000, 0x0000, 0x2179, 0x217a, 0x0000, 0x0000, + 0x217b, 0x217e, 0x217f, 0x2183, 0x0000, 0x2187, 0x0000, 0x0000, 0x0000, 0x0000, + 0x218f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x219e, + 0x0000, 0x219f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x21a0, 0x0000, 0x0000, 0x21a1, 0x0000, 0x0000, 0x0000, 0x21a2, 0x0000, + 0x0000, 0x0000, 0x21a3, 0x0000, 0x0000, 0x21a5, 0x21a9, 0x21ad, 0x0000, 0x0000, + 0x21ae, 0x0000, 0x21af, 0x0000, 0x21b0, 0x21b1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21bd, 0x21be, 0x21bf, 0x21ca, 0x0000, + 0x0000, 0x0000, 0x0000, 0x21cc, 0x21ce, 0x21cf, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21d0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x21d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x21d2, 0x0000, 0x0000, 0x21d3, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21d4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x21d5, 0x21d7, 0x21d8, 0x0000, 0x0000, 0x0000, 0x0000, + 0x21d9, 0x0000, 0x21dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x21df, 0x21e2, 0x0000, 0x21ec, 0x0000, 0x21ee, 0x0000, 0x0000, 0x0000, 0x21f1, + 0x0000, 0x0000, 0x0000, 0x21f2, 0x0000, 0x2202, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2206, 0x0000, 0x2207, + 0x2209, 0x220a, 0x2214, 0x2217, 0x2218, 0x221d, 0x2220, 0x0000, 0x2221, 0x2223, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2226, 0x2227, 0x2229, 0x2232, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2234, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2235, + 0x2238, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x223a, 0x223b, 0x223c, 0x0000, + 0x223e, 0x2241, 0x2242, 0x2245, 0x0000, 0x2246, 0x0000, 0x224b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x224c, 0x0000, 0x0000, 0x224d, 0x0000, 0x0000, 0x224f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2250, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2251, 0x0000, 0x0000, 0x0000, 0x0000, 0x2252, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2254, 0x2256, 0x0000, 0x0000, 0x0000, 0x2263, 0x0000, 0x226d, 0x226e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x226f, 0x2270, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2272, 0x0000, 0x0000, 0x0000, 0x0000, 0x2276, 0x227c, 0x227d, 0x0000, 0x227f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2281, 0x0000, 0x0000, 0x0000, 0x2282, 0x0000, + 0x0000, 0x0000, 0x2283, 0x0000, 0x2284, 0x0000, 0x0000, 0x0000, 0x2285, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2286, 0x2287, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2288, 0x0000, + 0x0000, 0x0000, 0x2289, 0x0000, 0x228a, 0x0000, 0x0000, 0x0000, 0x228e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x228f, 0x0000, 0x2290, 0x0000, + 0x0000, 0x22a0, 0x0000, 0x0000, 0x22a2, 0x0000, 0x0000, 0x22a6, 0x22a8, 0x0000, + 0x0000, 0x22a9, 0x22aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22ab, + 0x0000, 0x22ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x22c0, 0x22c4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x22c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22c8, 0x0000, + 0x22cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x22cf, 0x22d0, 0x22d1, 0x0000, 0x0000, + 0x0000, 0x22d2, 0x0000, 0x22d3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22d4, 0x0000, 0x0000, 0x0000, + 0x22e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x22e2, 0x0000, 0x22e4, 0x0000, 0x22ef, 0x0000, 0x0000, 0x0000, 0x22f1, + 0x22f3, 0x0000, 0x0000, 0x0000, 0x0000, 0x22f5, 0x0000, 0x22f6, 0x0000, 0x22fa, + 0x22fd, 0x0000, 0x0000, 0x230a, 0x0000, 0x0000, 0x0000, 0x0000, 0x230b, 0x0000, + 0x2324, 0x0000, 0x0000, 0x0000, 0x0000, 0x2325, 0x2328, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2329, 0x232a, 0x0000, 0x232c, 0x2331, 0x2340, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2343, + 0x237a, 0x0000, 0x0000, 0x237b, 0x2381, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2382, 0x0000, 0x0000, 0x0000, 0x2384, 0x0000, 0x0000, 0x2385, 0x0000, + 0x2387, 0x0000, 0x0000, 0x2388, 0x2389, 0x238d, 0x238e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2398, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x239a, 0x0000, 0x0000, 0x23a0, 0x0000, 0x23a1, 0x23a2, 0x0000, + 0x0000, 0x0000, 0x23a3, 0x23a4, 0x0000, 0x0000, 0x23a5, 0x0000, 0x0000, 0x23a6, + 0x0000, 0x23a7, 0x0000, 0x0000, 0x23a9, 0x23ab, 0x0000, 0x0000, 0x0000, 0x23ac, + 0x0000, 0x0000, 0x23b0, 0x0000, 0x23b8, 0x0000, 0x0000, 0x23bc, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x23bd, 0x0000, 0x23c0, 0x23cb, 0x0000, 0x0000, + 0x23cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x23ce, 0x0000, 0x23d1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x23d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x23d4, + 0x0000, 0x23d6, 0x23d7, 0x23d8, 0x0000, 0x23d9, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x23e2, 0x0000, 0x23e3, 0x0000, 0x0000, 0x0000, + 0x23e4, 0x23e5, 0x0000, 0x0000, 0x23e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x23e7, + 0x0000, 0x0000, 0x0000, 0x23e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x23ed, 0x23ee, + 0x0000, 0x0000, 0x0000, 0x23f8, 0x23fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400, + 0x2401, 0x0000, 0x2404, 0x0000, 0x0000, 0x0000, 0x0000, 0x2405, 0x2406, 0x2407, + 0x0000, 0x2408, 0x2409, 0x0000, 0x0000, 0x240b, 0x0000, 0x240c, 0x240d, 0x0000, + 0x0000, 0x240e, 0x0000, 0x2410, 0x0000, 0x2411, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2412, 0x2413, 0x0000, 0x0000, 0x2415, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2416, 0x2418, 0x0000, 0x0000, 0x2419, 0x0000, + 0x0000, 0x0000, 0x0000, 0x241c, 0x0000, 0x0000, 0x0000, 0x0000, 0x241f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2420, + 0x0000, 0x0000, 0x0000, 0x2421, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2422, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2423, 0x0000, 0x0000, 0x2424, 0x2427, 0x0000, + 0x0000, 0x0000, 0x2428, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2429, 0x0000, 0x0000, 0x242a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x242b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x242e, 0x242f, 0x0000, 0x0000, + 0x2431, 0x2432, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2434, 0x2437, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2439, 0x0000, 0x0000, 0x0000, 0x243c, 0x243d, 0x243f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2440, 0x0000, 0x0000, 0x244d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2451, 0x2455, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x245c, 0x245d, 0x2461, + 0x2469, 0x246a, 0x0000, 0x246e, 0x246f, 0x0000, 0x0000, 0x2505, 0x0000, 0x2507, + 0x0000, 0x0000, 0x0000, 0x0000, 0x250a, 0x0000, 0x0000, 0x0000, 0x250b, 0x0000, + 0x250c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x250d, 0x0000, 0x0000, 0x250e, 0x0000, 0x0000, 0x0000, 0x2511, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2512, 0x2513, 0x0000, 0x0000, 0x0000, 0x0000, 0x2515, 0x0000, + 0x2517, 0x2518, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x251c, 0x0000, 0x251e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2520, 0x2523, + 0x0000, 0x2525, 0x0000, 0x2527, 0x0000, 0x0000, 0x2529, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x252b, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x252c, 0x252d, 0x0000, 0x0000, 0x0000, 0x0000, 0x253c, 0x0000, + 0x0000, 0x253d, 0x0000, 0x0000, 0x2542, 0x0000, 0x2543, 0x2544, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2545, 0x0000, 0x0000, 0x0000, 0x2546, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2548, 0x2549, 0x0000, 0x254a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x254b, 0x254c, 0x0000, 0x0000, 0x0000, + 0x254e, 0x0000, 0x2555, 0x0000, 0x2556, 0x0000, 0x2559, 0x0000, 0x255b, 0x2562, + 0x0000, 0x2564, 0x2566, 0x2567, 0x0000, 0x0000, 0x0000, 0x2569, 0x2578, 0x0000, + 0x0000, 0x257c, 0x0000, 0x0000, 0x0000, 0x257e, 0x0000, 0x2580, 0x0000, 0x2581, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2588, 0x0000, 0x25a6, 0x25a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x25a9, 0x0000, 0x0000, + 0x25ab, 0x25ac, 0x25ad, 0x25ae, 0x0000, 0x0000, 0x0000, 0x25b0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x25b2, 0x25b6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x25b7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x25b8, 0x0000, 0x25b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x25ba, 0x0000, + 0x0000, 0x25bb, 0x0000, 0x0000, 0x25c0, 0x0000, 0x0000, 0x25c1, 0x0000, 0x25c3, + 0x25c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x25c7, 0x0000, 0x25c9, 0x25d1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x25d2, 0x25d3, 0x25d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x25d6, 0x25e2, + 0x0000, 0x0000, 0x25e4, 0x25e5, 0x25e6, 0x0000, 0x25e7, 0x25f5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x25f6, 0x0000, 0x25fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x25ff, + 0x0000, 0x0000, 0x0000, 0x2600, 0x0000, 0x260e, 0x0000, 0x2610, 0x0000, 0x0000, + 0x0000, 0x2616, 0x0000, 0x261a, 0x261b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x261c, 0x0000, 0x261d, 0x2628, 0x0000, 0x2629, 0x0000, 0x0000, 0x0000, 0x262a, + 0x262b, 0x0000, 0x262d, 0x0000, 0x262e, 0x0000, 0x262f, 0x0000, 0x0000, 0x0000, + 0x2630, 0x2631, 0x2638, 0x0000, 0x0000, 0x0000, 0x263a, 0x0000, 0x263d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2641, 0x2642, 0x0000, 0x0000, 0x0000, 0x2650, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2653, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2654, 0x0000, 0x265c, + 0x0000, 0x265f, 0x0000, 0x2664, 0x0000, 0x0000, 0x0000, 0x0000, 0x2666, 0x0000, + 0x0000, 0x2669, 0x266c, 0x0000, 0x0000, 0x0000, 0x2670, 0x0000, 0x0000, 0x0000, + 0x2671, 0x0000, 0x0000, 0x2672, 0x0000, 0x2675, 0x0000, 0x0000, 0x0000, 0x2677, + 0x2678, 0x0000, 0x0000, 0x267f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2680, 0x2687, 0x2689, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x268a, 0x268b, 0x268c, 0x2691, 0x2693, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2698, 0x0000, 0x269e, 0x0000, 0x0000, 0x0000, 0x269f, 0x0000, + 0x0000, 0x26a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x26b2, + 0x26b3, 0x26b4, 0x0000, 0x0000, 0x0000, 0x26b5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x26b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x26b9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x26ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x26c2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x26c3, 0x26c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x26ca, 0x0000, 0x0000, 0x0000, 0x26cb, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x26cc, 0x0000, 0x26d3, 0x0000, 0x0000, 0x26d4, 0x26ea, 0x26ee, 0x0000, + 0x26f1, 0x26f2, 0x0000, 0x0000, 0x26f6, 0x0000, 0x26fb, 0x26fd, 0x26fe, 0x0000, + 0x0000, 0x0000, 0x2701, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2703, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2704, 0x2709, 0x0000, + 0x0000, 0x270a, 0x0000, 0x0000, 0x0000, 0x270d, 0x0000, 0x2714, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2717, 0x2723, 0x2724, 0x2726, 0x0000, 0x0000, 0x0000, + 0x272f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2730, 0x0000, 0x0000, 0x2732, + 0x0000, 0x2734, 0x0000, 0x0000, 0x0000, 0x0000, 0x2736, 0x0000, 0x2737, 0x2738, + 0x2739, 0x273a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x273b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x273d, 0x2746, 0x0000, 0x0000, 0x0000, 0x0000, 0x2747, + 0x0000, 0x0000, 0x2749, 0x274a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x274b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274f, 0x0000, 0x2752, 0x0000, + 0x0000, 0x0000, 0x2756, 0x0000, 0x2758, 0x0000, 0x0000, 0x275c, 0x275d, 0x0000, + 0x0000, 0x2764, 0x0000, 0x2767, 0x276a, 0x276b, 0x0000, 0x0000, 0x0000, 0x276e, + 0x2771, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2772, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2777, 0x0000, 0x2778, 0x0000, 0x277c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2788, 0x0000, 0x0000, + 0x0000, 0x278a, 0x0000, 0x0000, 0x278d, 0x0000, 0x0000, 0x0000, 0x0000, 0x278f, + 0x2790, 0x0000, 0x0000, 0x2796, 0x0000, 0x2797, 0x2798, 0x0000, 0x2799, 0x0000, + 0x0000, 0x27a3, 0x0000, 0x27a5, 0x27a6, 0x0000, 0x0000, 0x27ac, 0x0000, 0x27ae, + 0x27af, 0x27b0, 0x27b8, 0x0000, 0x0000, 0x27bb, 0x0000, 0x27bd, 0x0000, 0x0000, + 0x0000, 0x27c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x27c1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x27c2, 0x0000, 0x0000, 0x0000, 0x0000, 0x27d2, 0x0000, 0x27da, 0x0000, + 0x0000, 0x27db, 0x27dc, 0x0000, 0x27dd, 0x27de, 0x0000, 0x27df, 0x0000, 0x0000, + 0x0000, 0x0000, 0x27e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x27e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27e9, 0x0000, 0x27f5, + 0x0000, 0x27f6, 0x27f7, 0x0000, 0x0000, 0x27f8, 0x0000, 0x0000, 0x27fd, 0x27fe, + 0x2804, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x280a, 0x0000, 0x280c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x280f, 0x0000, 0x0000, 0x2811, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2812, 0x0000, 0x2813, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2814, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x282c, 0x2830, 0x2831, 0x0000, 0x0000, 0x0000, + 0x2832, 0x0000, 0x2838, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2839, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x283a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x283b, 0x283f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2842, 0x0000, 0x0000, + 0x0000, 0x2843, 0x0000, 0x2844, 0x0000, 0x0000, 0x0000, 0x0000, 0x2847, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x284b, 0x284d, 0x0000, 0x0000, + 0x0000, 0x284e, 0x284f, 0x0000, 0x2851, 0x0000, 0x2856, 0x0000, 0x2858, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2859, 0x0000, 0x0000, 0x285b, 0x0000, 0x285c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x285e, 0x0000, 0x0000, 0x285f, 0x2862, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2863, 0x286d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x286f, 0x0000, 0x2871, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x287a, 0x0000, 0x2880, 0x0000, 0x2881, 0x0000, 0x0000, 0x0000, + 0x2884, 0x2885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2886, 0x0000, 0x0000, + 0x0000, 0x2887, 0x0000, 0x2888, 0x0000, 0x0000, 0x2892, 0x2894, 0x2896, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2897, 0x0000, 0x0000, 0x2898, + 0x289a, 0x0000, 0x0000, 0x289c, 0x0000, 0x289d, 0x0000, 0x28a3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28a4, 0x0000, 0x28a5, 0x28aa, + 0x0000, 0x0000, 0x28ab, 0x0000, 0x28ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x28b5, 0x28b6, 0x28b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x28b9, 0x0000, 0x0000, 0x28bb, 0x0000, 0x0000, + 0x28be, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28c0, 0x0000, 0x28c1, 0x28c2, + 0x0000, 0x0000, 0x0000, 0x0000, 0x28c4, 0x28c5, 0x0000, 0x28c6, 0x0000, 0x28c7, + 0x0000, 0x28cc, 0x28ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28d0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x28d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x28d3, 0x0000, 0x28d5, 0x0000, 0x0000, 0x0000, 0x28d6, 0x28d9, + 0x0000, 0x0000, 0x28db, 0x0000, 0x28e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x28e8, 0x28f1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28f2, 0x28f3, 0x0000, + 0x28fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2903, 0x0000, 0x0000, 0x0000, 0x2906, 0x0000, 0x0000, 0x290e, 0x0000, + 0x2919, 0x291c, 0x0000, 0x0000, 0x291d, 0x291e, 0x2920, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2922, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2925, 0x0000, 0x2926, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2927, 0x2928, 0x0000, 0x0000, 0x2930, 0x0000, 0x2939, + 0x293c, 0x0000, 0x293d, 0x293f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2942, + 0x2943, 0x2944, 0x0000, 0x2945, 0x0000, 0x0000, 0x0000, 0x2946, 0x0000, 0x2947, + 0x0000, 0x0000, 0x0000, 0x0000, 0x294f, 0x0000, 0x0000, 0x2950, 0x0000, 0x2952, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2959, 0x295a, 0x295b, 0x295d, 0x0000, 0x295e, 0x0000, 0x0000, 0x2962, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2966, 0x0000, 0x0000, 0x2969, 0x0000, 0x0000, + 0x0000, 0x296a, 0x0000, 0x296b, 0x0000, 0x296c, 0x0000, 0x296d, 0x0000, 0x0000, + 0x296f, 0x0000, 0x2982, 0x0000, 0x2983, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2985, 0x2986, 0x2987, 0x0000, 0x0000, 0x0000, 0x2996, 0x0000, 0x0000, 0x0000, + 0x2997, 0x0000, 0x299a, 0x0000, 0x299b, 0x0000, 0x0000, 0x0000, 0x299c, 0x299d, + 0x299f, 0x0000, 0x29a2, 0x0000, 0x0000, 0x29a3, 0x0000, 0x29ab, 0x0000, 0x0000, + 0x0000, 0x0000, 0x29ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x29ae, 0x0000, 0x0000, 0x0000, 0x29af, 0x0000, 0x0000, 0x0000, + 0x0000, 0x29b0, 0x29b1, 0x0000, 0x29b2, 0x0000, 0x0000, 0x0000, 0x29b4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29b6, 0x0000, 0x29ba, 0x0000, 0x0000, + 0x29c4, 0x0000, 0x29c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x29ca, 0x0000, 0x0000, + 0x0000, 0x29cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29cf, 0x0000, 0x29d0, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29d1, 0x0000, 0x29db, + 0x29de, 0x29e0, 0x0000, 0x0000, 0x29e2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x29e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x29e6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x29e7, 0x29ea, 0x29f7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x29f8, 0x0000, 0x0000, 0x29f9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x29fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x29fe, 0x0000, + 0x0000, 0x2a00, 0x2a01, 0x0000, 0x0000, 0x0000, 0x2a04, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2a06, 0x0000, 0x0000, 0x0000, 0x2a07, 0x0000, 0x2a11, + 0x0000, 0x0000, 0x2a14, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a15, + 0x0000, 0x0000, 0x0000, 0x2a19, 0x0000, 0x0000, 0x2a1b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a1c, 0x2a20, 0x0000, 0x0000, 0x0000, + 0x2a25, 0x0000, 0x0000, 0x0000, 0x2a27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2a2b, 0x0000, 0x0000, 0x2a2c, 0x0000, 0x2a38, + 0x0000, 0x2a39, 0x0000, 0x0000, 0x0000, 0x2a3a, 0x0000, 0x0000, 0x0000, 0x2a3c, + 0x0000, 0x0000, 0x2a3e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2a3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a40, 0x2a41, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2a43, 0x0000, 0x2a44, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2a45, 0x2a46, 0x2a47, 0x0000, 0x2a4a, 0x2a61, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2a62, 0x0000, 0x0000, 0x2a64, 0x0000, 0x2a65, 0x0000, 0x0000, 0x2a68, 0x0000, + 0x0000, 0x2a69, 0x2a6a, 0x2a6b, 0x2a6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2a6f, 0x0000, 0x2a72, 0x2a73, 0x2a78, 0x2a8a, 0x0000, 0x0000, 0x2a8b, + 0x2a8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a8d, 0x0000, 0x0000, 0x0000, + 0x2a90, 0x2a93, 0x0000, 0x0000, 0x2a94, 0x2a96, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2a97, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2a99, 0x0000, 0x2a9a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2a9c, 0x2a9f, 0x0000, 0x2aa0, 0x0000, 0x0000, 0x2aa4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2aa5, 0x0000, 0x2aa6, 0x0000, 0x0000, 0x0000, 0x2aab, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2aac, 0x0000, 0x0000, 0x2ab0, 0x2ab1, + 0x0000, 0x0000, 0x2ab2, 0x0000, 0x0000, 0x0000, 0x2ab4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2abb, 0x0000, 0x0000, 0x2ac1, 0x0000, 0x0000, 0x0000, 0x2ac3, 0x0000, + 0x0000, 0x2ac4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2ace, 0x0000, 0x2ad0, 0x2ad2, 0x0000, 0x0000, + 0x2ad4, 0x0000, 0x0000, 0x0000, 0x2ad6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ad7, 0x0000, 0x0000, 0x0000, 0x2ad8, + 0x0000, 0x0000, 0x0000, 0x2add, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2adf, + 0x0000, 0x0000, 0x0000, 0x2ae0, 0x2ae2, 0x0000, 0x0000, 0x2ae6, 0x2ae8, 0x2aeb, + 0x0000, 0x0000, 0x2aec, 0x0000, 0x2aed, 0x0000, 0x0000, 0x2aef, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2af0, 0x0000, 0x0000, 0x0000, 0x2af1, 0x0000, 0x2af3, 0x0000, + 0x0000, 0x0000, 0x2af4, 0x2af5, 0x0000, 0x0000, 0x0000, 0x2af6, 0x0000, 0x2af7, + 0x0000, 0x2af9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b02, 0x2b04, + 0x0000, 0x2b05, 0x2b08, 0x2b09, 0x0000, 0x0000, 0x2b0b, 0x2b0c, 0x2b0d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2b0e, 0x0000, 0x0000, 0x2b0f, 0x2b15, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2b17, 0x0000, 0x0000, 0x0000, 0x2b1a, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b2f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b30, 0x2b34, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2b35, 0x0000, 0x0000, 0x2b38, 0x2b39, 0x0000, 0x2b3a, + 0x0000, 0x2b3d, 0x0000, 0x2b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b4e, + 0x0000, 0x0000, 0x0000, 0x2b50, 0x0000, 0x0000, 0x0000, 0x2b56, 0x0000, 0x0000, + 0x0000, 0x2b57, 0x2b58, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b59, + 0x2b5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b5b, 0x0000, 0x0000, + 0x2b5e, 0x2b64, 0x0000, 0x0000, 0x0000, 0x2b65, 0x0000, 0x2b6a, 0x2b6f, 0x0000, + 0x2b7b, 0x0000, 0x0000, 0x0000, 0x2b86, 0x0000, 0x0000, 0x2b87, 0x0000, 0x2b8a, + 0x0000, 0x2b8b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b8c, 0x0000, 0x2b8d, + 0x2b90, 0x2b91, 0x2b92, 0x0000, 0x2b94, 0x0000, 0x2b95, 0x0000, 0x0000, 0x0000, + 0x2b96, 0x0000, 0x0000, 0x2b97, 0x2b98, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b9b, 0x0000, 0x0000, + 0x2b9c, 0x2b9e, 0x0000, 0x0000, 0x0000, 0x2ba4, 0x2ba6, 0x0000, 0x0000, 0x0000, + 0x2ba8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bae, 0x2baf, 0x0000, 0x0000, + 0x0000, 0x2bb0, 0x2bb3, 0x0000, 0x0000, 0x2bb4, 0x2bb5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2bba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2bc0, 0x2bc2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bc3, + 0x0000, 0x2bc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bc5, 0x0000, 0x0000, + 0x0000, 0x2bc6, 0x0000, 0x2bc7, 0x0000, 0x0000, 0x2bc9, 0x0000, 0x2bcb, 0x0000, + 0x2bce, 0x0000, 0x0000, 0x2bdf, 0x0000, 0x0000, 0x0000, 0x2c1d, 0x2c1f, 0x0000, + 0x0000, 0x2c20, 0x2c21, 0x2c26, 0x0000, 0x0000, 0x0000, 0x2c2b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2c2d, 0x2c2e, 0x0000, 0x2c2f, 0x0000, 0x0000, 0x0000, 0x2c31, + 0x0000, 0x2c32, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c46, 0x0000, 0x2c4a, 0x0000, + 0x0000, 0x0000, 0x2c4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c4c, 0x0000, + 0x2c4d, 0x2c4e, 0x0000, 0x2c50, 0x0000, 0x2c51, 0x0000, 0x0000, 0x0000, 0x2c54, + 0x2c55, 0x0000, 0x0000, 0x2c56, 0x0000, 0x0000, 0x0000, 0x2c5b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2c5c, 0x0000, 0x2c5d, 0x2c6a, 0x0000, 0x0000, + 0x2c6b, 0x0000, 0x2c6e, 0x2c70, 0x0000, 0x0000, 0x0000, 0x2c71, 0x0000, 0x0000, + 0x2c72, 0x2c77, 0x0000, 0x2c7a, 0x2c87, 0x0000, 0x2c88, 0x2c8e, 0x0000, 0x0000, + 0x0000, 0x2c90, 0x0000, 0x0000, 0x2c91, 0x2c94, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2c99, 0x0000, 0x0000, 0x0000, 0x2c9a, 0x0000, 0x2c9d, 0x0000, 0x2ca2, 0x2ca5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ca6, 0x0000, 0x2cad, 0x0000, 0x2cae, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cb0, 0x2cbd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2cbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cbf, 0x0000, + 0x0000, 0x2cc0, 0x2cc4, 0x2cc5, 0x2cc7, 0x0000, 0x2ccd, 0x0000, 0x2cd1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2cd2, 0x0000, 0x0000, 0x0000, 0x2cd3, 0x0000, 0x2cd4, + 0x2cd5, 0x2cd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cd9, 0x0000, 0x0000, 0x2cdc, + 0x0000, 0x0000, 0x2cdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2ce9, 0x0000, 0x0000, 0x2cee, 0x0000, 0x2cf5, 0x0000, + 0x0000, 0x2cf6, 0x2cf7, 0x2cf9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2cfb, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cfc, + 0x0000, 0x2d00, 0x2d01, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2d09, 0x2d0a, 0x2d0b, 0x2d0e, 0x0000, 0x0000, + 0x2d17, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d1b, 0x0000, 0x2d1c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2d20, 0x2d24, 0x0000, 0x2d25, 0x0000, 0x0000, + 0x2d27, 0x0000, 0x2d28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d29, + 0x0000, 0x0000, 0x2d2b, 0x2d2c, 0x0000, 0x2d2d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2d2f, 0x0000, 0x0000, 0x0000, 0x2d31, 0x0000, 0x2d36, 0x0000, 0x2d37, 0x0000, + 0x0000, 0x0000, 0x2d39, 0x0000, 0x2d3a, 0x0000, 0x0000, 0x0000, 0x2d3c, 0x2d3d, + 0x0000, 0x0000, 0x0000, 0x2d3e, 0x2d40, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2d43, 0x0000, 0x2d44, 0x2d47, 0x0000, 0x2d4b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d4c, 0x0000, 0x2d4d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2d4e, 0x2d51, 0x0000, 0x0000, 0x0000, 0x2d52, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d53, 0x2d54, 0x0000, + 0x2d56, 0x0000, 0x0000, 0x2d58, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d5a, 0x0000, + 0x0000, 0x2d5b, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d5d, 0x0000, 0x2d66, 0x0000, + 0x0000, 0x0000, 0x2d67, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d69, 0x0000, 0x0000, + 0x2d6a, 0x2d6b, 0x2d6c, 0x2d6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2d77, 0x0000, 0x0000, 0x2d7e, 0x0000, 0x2d80, 0x2d81, 0x0000, 0x2d82, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d83, 0x0000, + 0x0000, 0x2d84, 0x2d85, 0x2d88, 0x0000, 0x0000, 0x2d9d, 0x2d9f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2da0, 0x0000, 0x0000, 0x2da1, 0x0000, 0x2da5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2da8, 0x0000, 0x0000, 0x0000, + 0x2dc4, 0x0000, 0x2dc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2dc9, 0x0000, + 0x0000, 0x2dcc, 0x2ddf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2de1, 0x2de4, 0x2de6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2de7, + 0x0000, 0x0000, 0x0000, 0x2de8, 0x2dea, 0x0000, 0x2deb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2def, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2df0, 0x0000, 0x0000, 0x0000, 0x2df1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2df6, 0x2df7, 0x0000, 0x2dfc, 0x2dfd, 0x0000, 0x2dfe, 0x0000, + 0x0000, 0x2dff, 0x0000, 0x2e01, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2e02, 0x2e04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2e07, 0x0000, 0x2e08, 0x0000, 0x0000, 0x0000, 0x2e09, 0x0000, + 0x0000, 0x0000, 0x2e0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e0c, 0x0000, 0x0000, + 0x2e0d, 0x2e0f, 0x2e10, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e13, 0x2e3a, 0x2e3b, + 0x2e3c, 0x0000, 0x0000, 0x2e3d, 0x0000, 0x0000, 0x0000, 0x2e3e, 0x0000, 0x0000, + 0x2e46, 0x2e4b, 0x0000, 0x2e4c, 0x0000, 0x2e5d, 0x0000, 0x0000, 0x0000, 0x2e5f, + 0x0000, 0x0000, 0x0000, 0x2e60, 0x2e62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2e63, 0x0000, 0x2e64, 0x2e65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e6b, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2e6c, 0x0000, 0x2e6d, 0x0000, 0x2e6e, 0x0000, 0x0000, + 0x2e6f, 0x0000, 0x2e76, 0x2e77, 0x2e79, 0x2e85, 0x2e86, 0x0000, 0x2e88, 0x2e8e, + 0x0000, 0x0000, 0x2e90, 0x0000, 0x2e92, 0x2e94, 0x2e97, 0x2e98, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2e99, 0x0000, 0x2e9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2ea5, 0x2ea7, 0x2ea8, 0x0000, 0x2ea9, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eac, + 0x2ead, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eb1, 0x0000, 0x2eb2, 0x0000, 0x2eb3, + 0x0000, 0x2eb4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eb5, 0x0000, 0x0000, + 0x2eb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eb9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eca, 0x0000, 0x0000, 0x0000, 0x2ecb, + 0x2ecc, 0x2ed2, 0x2ed3, 0x0000, 0x2ed8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2ed9, 0x0000, 0x0000, 0x0000, 0x2eda, 0x0000, 0x2edf, 0x2ee4, 0x2ee5, 0x2ee6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eeb, 0x0000, 0x0000, 0x2eec, 0x2eee, + 0x0000, 0x0000, 0x2eef, 0x0000, 0x0000, 0x2ef3, 0x2efc, 0x0000, 0x0000, 0x2efd, + 0x0000, 0x0000, 0x2f00, 0x2f01, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f02, 0x0000, + 0x2f09, 0x2f0b, 0x0000, 0x0000, 0x2f0c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2f0e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2f16, 0x2f17, 0x0000, 0x2f18, 0x0000, 0x0000, 0x0000, 0x2f1c, 0x2f20, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2f21, 0x2f23, 0x2f24, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f2a, 0x0000, 0x0000, 0x0000, 0x2f2b, + 0x2f2c, 0x0000, 0x0000, 0x0000, 0x2f2f, 0x0000, 0x2f31, 0x2f36, 0x2f37, 0x0000, + 0x0000, 0x2f38, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f39, 0x0000, 0x2f3c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2f41, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2f42, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f46, 0x2f47, 0x2f48, 0x2f4f, + 0x0000, 0x0000, 0x2f52, 0x2f54, 0x0000, 0x0000, 0x0000, 0x2f56, 0x0000, 0x0000, + 0x0000, 0x2f57, 0x2f58, 0x2f60, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f62, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f63, 0x0000, 0x0000, 0x0000, 0x2f64, + 0x2f66, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f69, 0x0000, 0x2f6b, 0x0000, 0x2f6d, + 0x0000, 0x0000, 0x2f6e, 0x0000, 0x0000, 0x0000, 0x2f70, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2f71, 0x0000, 0x2f74, 0x0000, 0x2f79, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2f7a, 0x2f8b, 0x2f8d, 0x0000, 0x0000, 0x0000, 0x2f8f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2f92, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2f97, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f98, + 0x0000, 0x0000, 0x0000, 0x2f9a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f9b, + 0x2f9c, 0x0000, 0x0000, 0x2f9d, 0x0000, 0x2fa4, 0x0000, 0x2fa5, 0x0000, 0x0000, + 0x2fa6, 0x0000, 0x2fa9, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fab, 0x0000, 0x2fb1, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2fb2, 0x2fb3, 0x2fb4, 0x2fb5, 0x0000, 0x2fb9, + 0x2fba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2fbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fbf, 0x0000, + 0x0000, 0x2fc5, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fc9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2fca, 0x0000, 0x0000, 0x2fcc, 0x2fd2, 0x0000, 0x0000, 0x0000, 0x2fd3, + 0x0000, 0x0000, 0x0000, 0x2fd4, 0x2fdd, 0x0000, 0x2fde, 0x2fe0, 0x0000, 0x2fe1, + 0x0000, 0x0000, 0x2ff3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ff5, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2ff6, 0x0000, 0x3001, 0x0000, 0x0000, 0x3002, + 0x0000, 0x3004, 0x3005, 0x0000, 0x0000, 0x3006, 0x0000, 0x3007, 0x0000, 0x0000, + 0x3008, 0x0000, 0x3009, 0x0000, 0x300a, 0x0000, 0x0000, 0x0000, 0x0000, 0x300d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3015, 0x0000, 0x3032, 0x3034, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3035, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3036, 0x3037, 0x0000, 0x3038, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3039, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x303a, 0x0000, 0x0000, 0x0000, 0x0000, 0x303c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x303e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x303f, 0x0000, 0x3043, 0x3044, + 0x3045, 0x0000, 0x0000, 0x304f, 0x3052, 0x3053, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3054, 0x3058, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x305b, 0x0000, 0x305e, 0x0000, 0x305f, 0x0000, 0x0000, 0x3060, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3069, 0x0000, 0x0000, 0x306a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x306e, 0x3073, 0x0000, 0x0000, 0x3074, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x307a, + 0x0000, 0x0000, 0x0000, 0x307b, 0x0000, 0x0000, 0x0000, 0x307c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3084, 0x0000, 0x3085, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3087, 0x0000, 0x3089, 0x308d, 0x0000, 0x0000, 0x0000, 0x308f, 0x3090, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3092, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3093, 0x3094, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3095, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3096, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x309d, 0x0000, 0x0000, 0x0000, 0x30a2, 0x30a3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30a4, 0x30bb, 0x0000, 0x0000, + 0x30cd, 0x30ce, 0x0000, 0x0000, 0x0000, 0x30cf, 0x0000, 0x0000, 0x0000, 0x0000, + 0x30d0, 0x30d6, 0x30dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x30de, 0x0000, 0x30e0, + 0x30e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x30e2, 0x0000, 0x0000, 0x0000, 0x30e3, + 0x0000, 0x30e8, 0x0000, 0x0000, 0x0000, 0x30ec, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x30ef, 0x0000, 0x0000, 0x0000, 0x30f0, 0x0000, 0x0000, 0x0000, + 0x30f1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30f2, 0x0000, 0x30f7, 0x0000, + 0x0000, 0x30f8, 0x0000, 0x30fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30fc, 0x0000, 0x3104, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3106, 0x0000, 0x0000, 0x0000, 0x3107, 0x3108, + 0x0000, 0x0000, 0x0000, 0x310a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x310b, 0x0000, 0x0000, 0x3112, 0x0000, 0x3115, 0x0000, 0x3116, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3119, 0x0000, 0x0000, 0x0000, 0x311b, 0x311e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3121, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3122, 0x3123, 0x313b, 0x0000, 0x3140, 0x0000, 0x0000, + 0x3143, 0x0000, 0x3144, 0x0000, 0x3147, 0x0000, 0x3151, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3153, 0x3166, 0x0000, 0x3168, 0x0000, 0x0000, 0x3171, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x317e, 0x0000, 0x0000, 0x317f, 0x0000, 0x3181, 0x3185, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3187, 0x0000, 0x3189, 0x0000, 0x318a, 0x3195, 0x0000, 0x3196, 0x0000, 0x3199, + 0x0000, 0x319d, 0x0000, 0x0000, 0x0000, 0x319f, 0x31a0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x31a3, 0x31c1, 0x0000, 0x0000, 0x31c3, 0x0000, 0x0000, 0x31c4, 0x0000, + 0x0000, 0x31c6, 0x31c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x31c9, 0x0000, 0x31ca, 0x31cb, 0x0000, 0x31cc, 0x0000, 0x0000, + 0x31d7, 0x31df, 0x0000, 0x0000, 0x0000, 0x0000, 0x31e5, 0x0000, 0x31e6, 0x31ea, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31eb, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x31ec, 0x31f9, 0x0000, 0x3218, 0x0000, 0x3219, 0x0000, + 0x3224, 0x0000, 0x0000, 0x0000, 0x0000, 0x3227, 0x0000, 0x322a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x322b, 0x322d, 0x0000, 0x322e, 0x0000, 0x0000, 0x0000, 0x0000, 0x322f, 0x0000, + 0x0000, 0x3232, 0x3234, 0x3235, 0x0000, 0x0000, 0x0000, 0x3236, 0x0000, 0x0000, + 0x0000, 0x3237, 0x0000, 0x3238, 0x0000, 0x323a, 0x0000, 0x0000, 0x323b, 0x0000, + 0x323e, 0x0000, 0x323f, 0x0000, 0x0000, 0x3242, 0x0000, 0x3245, 0x3248, 0x3249, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x324b, + 0x0000, 0x324d, 0x0000, 0x0000, 0x324e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3254, 0x3255, 0x3258, 0x0000, 0x3259, 0x0000, + 0x0000, 0x0000, 0x0000, 0x325d, 0x0000, 0x0000, 0x0000, 0x325f, 0x3260, 0x3262, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3266, 0x0000, 0x326d, + 0x326e, 0x0000, 0x327e, 0x0000, 0x3280, 0x0000, 0x0000, 0x0000, 0x3281, 0x0000, + 0x3282, 0x0000, 0x0000, 0x0000, 0x0000, 0x3283, 0x0000, 0x3284, 0x3285, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3286, 0x0000, 0x328e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3290, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3292, 0x0000, 0x0000, 0x3294, 0x0000, 0x0000, 0x3295, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3296, 0x0000, 0x0000, 0x0000, 0x0000, 0x3297, 0x0000, 0x3298, + 0x0000, 0x3299, 0x0000, 0x0000, 0x0000, 0x329a, 0x329e, 0x329f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x32a0, 0x32a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x32a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32aa, + 0x0000, 0x32ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32ac, 0x0000, + 0x0000, 0x32b6, 0x0000, 0x0000, 0x0000, 0x32b8, 0x32b9, 0x0000, 0x32ba, 0x32c4, + 0x32c5, 0x32c9, 0x32ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x32cc, 0x0000, 0x0000, + 0x32cd, 0x0000, 0x0000, 0x32cf, 0x32d1, 0x0000, 0x32d9, 0x0000, 0x0000, 0x0000, + 0x32dc, 0x0000, 0x32dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x32de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x32e0, 0x32e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32e4, + 0x0000, 0x0000, 0x32e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x32e8, 0x0000, 0x32ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32f0, + 0x0000, 0x0000, 0x32f1, 0x0000, 0x0000, 0x0000, 0x32f3, 0x32f4, 0x32f6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x32f7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x32f9, 0x32fe, 0x0000, 0x3300, 0x0000, 0x0000, 0x3304, 0x3305, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x330b, 0x0000, 0x0000, 0x330c, 0x0000, 0x330f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3315, 0x3316, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3317, 0x3318, 0x3319, 0x0000, 0x331a, 0x0000, 0x0000, 0x0000, + 0x331d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x331e, 0x0000, + 0x331f, 0x3320, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3326, 0x0000, 0x332b, + 0x0000, 0x332c, 0x0000, 0x0000, 0x0000, 0x332d, 0x0000, 0x3345, 0x3346, 0x3348, + 0x3349, 0x0000, 0x0000, 0x334a, 0x0000, 0x334b, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x334e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x335e, 0x0000, 0x3370, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3371, 0x0000, 0x0000, 0x3372, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3376, 0x0000, 0x0000, 0x0000, 0x3378, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3379, 0x0000, 0x337a, 0x337f, 0x3383, 0x0000, + 0x0000, 0x0000, 0x3385, 0x0000, 0x0000, 0x3386, 0x0000, 0x0000, 0x3387, 0x0000, + 0x0000, 0x3396, 0x0000, 0x0000, 0x0000, 0x3397, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x339c, 0x0000, 0x0000, 0x33a3, + 0x33b0, 0x0000, 0x0000, 0x0000, 0x33b9, 0x0000, 0x33c1, 0x33c5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x33c7, 0x33cb, 0x0000, 0x33cc, 0x33cd, 0x0000, 0x33ce, + 0x0000, 0x33d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x33dc, 0x0000, 0x0000, 0x0000, + 0x0000, 0x33dd, 0x33f3, 0x0000, 0x0000, 0x33f5, 0x33f6, 0x0000, 0x0000, 0x33f7, + 0x0000, 0x0000, 0x33f9, 0x0000, 0x33fe, 0x0000, 0x0000, 0x0000, 0x33ff, 0x0000, + 0x0000, 0x0000, 0x0000, 0x340d, 0x0000, 0x3410, 0x0000, 0x0000, 0x0000, 0x3411, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3412, 0x0000, 0x0000, 0x3413, + 0x0000, 0x3417, 0x0000, 0x0000, 0x341e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x341f, 0x0000, 0x342a, 0x0000, 0x3432, 0x0000, 0x3436, 0x3437, 0x3439, 0x0000, + 0x0000, 0x343b, 0x343c, 0x0000, 0x343d, 0x343e, 0x0000, 0x3440, 0x0000, 0x3444, + 0x3445, 0x344a, 0x0000, 0x344b, 0x344c, 0x0000, 0x344d, 0x344f, 0x3453, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3459, 0x3461, 0x0000, 0x3462, 0x0000, 0x0000, + 0x0000, 0x0000, 0x346c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x346e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x346f, 0x0000, 0x0000, 0x0000, 0x0000, 0x3471, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3473, 0x0000, 0x0000, 0x0000, 0x3474, 0x0000, + 0x0000, 0x3476, 0x347e, 0x0000, 0x347f, 0x0000, 0x3485, 0x0000, 0x3488, 0x3489, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x348b, 0x0000, 0x3491, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3492, 0x3493, 0x0000, 0x3494, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3498, 0x3499, 0x349a, 0x349e, 0x0000, 0x349f, 0x34a0, 0x34a2, 0x34a3, + 0x0000, 0x34a4, 0x0000, 0x0000, 0x34a6, 0x34a7, 0x0000, 0x34a9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x34af, 0x0000, 0x34b2, 0x0000, 0x34b5, 0x0000, 0x0000, 0x34b6, + 0x0000, 0x0000, 0x34b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34b8, 0x34b9, 0x0000, + 0x34bc, 0x0000, 0x0000, 0x34cc, 0x34d2, 0x0000, 0x0000, 0x34d5, 0x34d8, 0x0000, + 0x0000, 0x0000, 0x34da, 0x34df, 0x0000, 0x34e1, 0x34e3, 0x0000, 0x34e4, 0x0000, + 0x34e7, 0x0000, 0x34e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34e9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34eb, 0x0000, 0x0000, 0x0000, + 0x34ed, 0x34f3, 0x0000, 0x0000, 0x0000, 0x34f4, 0x34f5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x34f6, 0x0000, 0x34fb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x34fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x34fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3501, 0x0000, 0x0000, + 0x3503, 0x0000, 0x0000, 0x0000, 0x0000, 0x3505, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x350a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x350d, 0x0000, 0x3512, 0x0000, 0x351b, 0x0000, 0x3520, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3521, 0x3523, + 0x0000, 0x3524, 0x3525, 0x3526, 0x3527, 0x0000, 0x0000, 0x3531, 0x3532, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3537, 0x0000, 0x3539, 0x353b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x353d, 0x0000, + 0x0000, 0x0000, 0x3542, 0x0000, 0x0000, 0x0000, 0x3546, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3556, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3558, 0x0000, 0x355b, 0x0000, + 0x0000, 0x355c, 0x0000, 0x0000, 0x355e, 0x0000, 0x0000, 0x0000, 0x355f, 0x0000, + 0x3560, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3564, 0x0000, 0x3565, 0x3567, + 0x0000, 0x0000, 0x3568, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x356b, + 0x3575, 0x0000, 0x3576, 0x0000, 0x0000, 0x0000, 0x3577, 0x0000, 0x0000, 0x0000, + 0x357c, 0x357e, 0x3581, 0x0000, 0x0000, 0x0000, 0x3586, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3589, 0x0000, 0x0000, 0x0000, 0x0000, 0x358b, 0x0000, 0x0000, + 0x0000, 0x3592, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3593, 0x0000, 0x3594, 0x3595, 0x0000, 0x0000, 0x3597, 0x359c, 0x35a2, + 0x35a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35a4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35a6, 0x0000, 0x35a8, + 0x0000, 0x0000, 0x35a9, 0x35aa, 0x35b3, 0x0000, 0x35b7, 0x0000, 0x0000, 0x35b8, + 0x0000, 0x0000, 0x0000, 0x35b9, 0x0000, 0x35bd, 0x0000, 0x0000, 0x35c2, 0x35c3, + 0x0000, 0x35c4, 0x35c5, 0x0000, 0x35c6, 0x0000, 0x0000, 0x35c7, 0x0000, 0x0000, + 0x0000, 0x35c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35c9, + 0x0000, 0x0000, 0x35cc, 0x0000, 0x35cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x35d0, 0x35d2, 0x35db, 0x0000, 0x0000, 0x0000, 0x35e5, + 0x0000, 0x35e6, 0x0000, 0x35e9, 0x0000, 0x35ec, 0x35ee, 0x0000, 0x0000, 0x0000, + 0x0000, 0x35f8, 0x35f9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x360a, 0x0000, 0x360c, 0x0000, + 0x0000, 0x360e, 0x0000, 0x0000, 0x360f, 0x0000, 0x3610, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3612, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3613, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3615, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3622, 0x0000, 0x0000, 0x3624, 0x0000, 0x0000, + 0x3625, 0x0000, 0x0000, 0x3626, 0x3627, 0x0000, 0x362c, 0x0000, 0x362d, 0x362e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3630, 0x0000, 0x0000, 0x0000, 0x0000, 0x3631, 0x3636, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x363e, 0x0000, 0x3640, + 0x3641, 0x3642, 0x0000, 0x0000, 0x3643, 0x3646, 0x0000, 0x3649, 0x364b, 0x364c, + 0x3650, 0x0000, 0x0000, 0x3652, 0x0000, 0x0000, 0x0000, 0x3655, 0x0000, 0x0000, + 0x0000, 0x3656, 0x0000, 0x0000, 0x0000, 0x3657, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3658, 0x365d, 0x0000, 0x0000, 0x0000, 0x0000, 0x365e, 0x0000, 0x365f, + 0x0000, 0x0000, 0x3660, 0x0000, 0x0000, 0x0000, 0x3661, 0x0000, 0x0000, 0x3662, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3664, 0x0000, 0x3667, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x366c, 0x0000, 0x366d, 0x0000, 0x366e, + 0x0000, 0x0000, 0x366f, 0x0000, 0x3678, 0x0000, 0x0000, 0x0000, 0x3682, 0x0000, + 0x0000, 0x3683, 0x0000, 0x0000, 0x0000, 0x0000, 0x3684, 0x0000, 0x3685, 0x0000, + 0x368f, 0x3691, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3692, 0x36a6, 0x0000, 0x36a7, 0x36aa, 0x0000, + 0x36ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x36ac, 0x0000, 0x0000, 0x36af, 0x0000, + 0x0000, 0x0000, 0x36c2, 0x0000, 0x36c3, 0x0000, 0x36c5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x36d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x36db, 0x0000, 0x0000, 0x0000, 0x0000, 0x36de, 0x0000, 0x0000, + 0x0000, 0x36e0, 0x36e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x36e3, 0x0000, 0x0000, 0x36e4, 0x36e8, 0x0000, 0x36ef, + 0x0000, 0x36f0, 0x36f2, 0x0000, 0x0000, 0x36f3, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x36f4, 0x0000, 0x0000, 0x0000, 0x36f8, + 0x0000, 0x36fa, 0x36fb, 0x0000, 0x36fc, 0x36ff, 0x3705, 0x3706, 0x3707, 0x370d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x370f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3710, 0x3711, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3712, 0x0000, 0x3716, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3717, 0x0000, + 0x0000, 0x0000, 0x3718, 0x0000, 0x0000, 0x3719, 0x0000, 0x0000, 0x0000, 0x371b, + 0x371c, 0x0000, 0x0000, 0x371d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3725, 0x0000, 0x0000, 0x0000, 0x0000, 0x3726, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3727, 0x0000, 0x0000, 0x3728, 0x0000, 0x0000, 0x3729, 0x0000, + 0x372a, 0x372f, 0x0000, 0x3730, 0x3738, 0x0000, 0x0000, 0x373a, 0x0000, 0x373c, + 0x0000, 0x0000, 0x0000, 0x373d, 0x373e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3742, + 0x0000, 0x0000, 0x3745, 0x0000, 0x3747, 0x0000, 0x0000, 0x0000, 0x3748, 0x0000, + 0x0000, 0x3749, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x374a, 0x0000, 0x374c, 0x374d, 0x0000, 0x0000, 0x374f, 0x0000, 0x3751, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3752, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3753, 0x0000, 0x0000, 0x375d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x375e, 0x0000, 0x0000, 0x3760, 0x0000, 0x0000, 0x3762, 0x0000, 0x0000, + 0x3763, 0x3765, 0x0000, 0x0000, 0x3766, 0x3769, 0x376b, 0x0000, 0x376e, 0x0000, + 0x0000, 0x3775, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3776, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3777, 0x3778, 0x0000, 0x0000, 0x0000, 0x377c, 0x0000, 0x0000, 0x3780, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3797, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x379a, 0x0000, 0x0000, 0x379b, 0x0000, 0x0000, 0x0000, 0x37a0, 0x37a1, + 0x0000, 0x0000, 0x0000, 0x37a6, 0x0000, 0x0000, 0x0000, 0x37a7, 0x0000, 0x37aa, + 0x0000, 0x0000, 0x37ab, 0x0000, 0x0000, 0x37ae, 0x0000, 0x0000, 0x37b0, 0x0000, + 0x0000, 0x0000, 0x37b4, 0x0000, 0x37b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x37b6, + 0x37bb, 0x37bd, 0x0000, 0x0000, 0x37c5, 0x0000, 0x0000, 0x37c6, 0x0000, 0x37c7, + 0x37ca, 0x0000, 0x0000, 0x0000, 0x37cb, 0x0000, 0x0000, 0x0000, 0x37cc, 0x37cd, + 0x0000, 0x0000, 0x0000, 0x0000, 0x37ce, 0x0000, 0x0000, 0x0000, 0x37d0, 0x0000, + 0x0000, 0x0000, 0x37d1, 0x0000, 0x37d2, 0x0000, 0x37d5, 0x37dd, 0x37de, 0x37e0, + 0x37e1, 0x0000, 0x37e3, 0x0000, 0x37e4, 0x37e5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37e7, 0x37e8, 0x0000, + 0x0000, 0x37ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37ee, + 0x0000, 0x0000, 0x0000, 0x0000, 0x37f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x37f1, + 0x37f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37f6, 0x37f9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x37fa, 0x37fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x37fc, 0x0000, + 0x0000, 0x0000, 0x37fd, 0x0000, 0x0000, 0x3801, 0x3804, 0x0000, 0x3805, 0x0000, + 0x0000, 0x3806, 0x0000, 0x3809, 0x380a, 0x0000, 0x0000, 0x380b, 0x0000, 0x381a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x381c, 0x381d, 0x3823, 0x0000, 0x3825, + 0x0000, 0x0000, 0x3826, 0x0000, 0x382b, 0x0000, 0x3840, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3841, 0x0000, 0x0000, 0x3845, 0x0000, 0x3846, 0x0000, 0x3848, + 0x3849, 0x0000, 0x0000, 0x0000, 0x3851, 0x0000, 0x0000, 0x3858, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x385e, 0x0000, 0x0000, + 0x0000, 0x385f, 0x0000, 0x0000, 0x3863, 0x0000, 0x3868, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x386a, 0x0000, 0x0000, 0x386b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x386e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3876, 0x0000, 0x3879, 0x0000, 0x387c, 0x0000, 0x0000, 0x3882, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3883, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3885, 0x0000, 0x388d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x388e, + 0x3892, 0x0000, 0x0000, 0x0000, 0x3893, 0x0000, 0x0000, 0x0000, 0x3895, 0x3896, + 0x0000, 0x0000, 0x0000, 0x3897, 0x3898, 0x3899, 0x389c, 0x389d, 0x389e, 0x389f, + 0x38a0, 0x38a1, 0x0000, 0x38a3, 0x0000, 0x38a5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38a6, 0x0000, 0x38ab, 0x38b0, + 0x38b1, 0x38b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x38b3, 0x38be, 0x38c2, 0x0000, 0x38c9, 0x0000, 0x38d0, + 0x0000, 0x38d3, 0x0000, 0x0000, 0x38d4, 0x38d6, 0x38d7, 0x0000, 0x0000, 0x38d8, + 0x0000, 0x0000, 0x0000, 0x38d9, 0x0000, 0x38da, 0x0000, 0x0000, 0x0000, 0x0000, + 0x38dc, 0x38e4, 0x0000, 0x0000, 0x38e5, 0x38e6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x38e8, 0x0000, 0x0000, 0x38e9, 0x0000, 0x0000, 0x0000, 0x38eb, + 0x38f0, 0x0000, 0x0000, 0x38f1, 0x38f2, 0x38f3, 0x0000, 0x0000, 0x38f4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x38f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38f7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x38fb, 0x0000, 0x38fc, 0x0000, 0x0000, 0x3908, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3909, 0x0000, + 0x0000, 0x390c, 0x390d, 0x3913, 0x0000, 0x3915, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3917, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3923, 0x0000, 0x3924, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3927, 0x0000, 0x3929, 0x392a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x392b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x392c, 0x0000, 0x0000, 0x392f, 0x3932, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3934, 0x0000, 0x0000, 0x0000, 0x0000, 0x3935, 0x3936, 0x0000, 0x393d, 0x0000, + 0x0000, 0x393e, 0x0000, 0x3942, 0x0000, 0x3945, 0x0000, 0x0000, 0x0000, 0x3949, + 0x0000, 0x0000, 0x0000, 0x394c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x394d, 0x0000, 0x0000, 0x394e, 0x0000, 0x0000, 0x0000, + 0x3958, 0x0000, 0x0000, 0x3959, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x395a, + 0x395b, 0x0000, 0x0000, 0x0000, 0x0000, 0x395e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x395f, 0x3969, 0x0000, 0x0000, 0x0000, 0x0000, 0x396b, 0x3971, 0x3977, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3978, + 0x0000, 0x0000, 0x0000, 0x3979, 0x0000, 0x0000, 0x0000, 0x0000, 0x397f, 0x0000, + 0x3980, 0x3981, 0x3986, 0x0000, 0x0000, 0x0000, 0x3988, 0x3989, 0x0000, 0x0000, + 0x0000, 0x0000, 0x398b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x398d, 0x3990, 0x3991, 0x0000, 0x0000, 0x3994, 0x3996, 0x0000, 0x0000, 0x0000, + 0x3998, 0x39a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x39a3, 0x39a6, 0x39a8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x39a9, 0x39aa, 0x39ad, 0x39b3, 0x0000, 0x39b4, + 0x0000, 0x39b5, 0x39b6, 0x0000, 0x0000, 0x39b7, 0x0000, 0x0000, 0x39b8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x39b9, 0x0000, 0x39bb, 0x0000, 0x0000, 0x39be, 0x0000, + 0x0000, 0x39c1, 0x39c2, 0x39c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39cb, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39ce, 0x0000, 0x39d3, 0x39d4, + 0x39d6, 0x0000, 0x0000, 0x0000, 0x39d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x39da, 0x0000, 0x0000, 0x0000, 0x0000, 0x39db, 0x0000, 0x39dc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x39df, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x39e0, 0x0000, 0x39e2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x39e3, 0x0000, 0x39e4, 0x0000, 0x39e7, 0x0000, 0x0000, 0x0000, + 0x39e8, 0x0000, 0x0000, 0x39ea, 0x39eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39ee, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x39f1, 0x0000, 0x39fd, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x39fe, 0x0000, 0x0000, 0x39ff, 0x3a17, 0x0000, 0x3a19, 0x0000, 0x3a1c, + 0x0000, 0x3a1d, 0x3a1e, 0x3a20, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a21, + 0x0000, 0x3a22, 0x3a2e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a2f, 0x0000, 0x3a3b, + 0x0000, 0x3a3c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a3f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3a48, 0x0000, 0x0000, 0x3a53, 0x0000, 0x3a54, + 0x3a56, 0x3a57, 0x0000, 0x0000, 0x3a58, 0x0000, 0x3a61, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3a63, 0x0000, 0x0000, 0x3a64, 0x3a65, 0x3a67, + 0x0000, 0x0000, 0x3a68, 0x0000, 0x0000, 0x0000, 0x3a74, 0x3a7d, 0x0000, 0x0000, + 0x3a8e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a93, 0x0000, 0x0000, 0x3a96, 0x3a99, + 0x0000, 0x0000, 0x3a9a, 0x3aac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3aad, 0x0000, 0x3aae, 0x0000, 0x0000, 0x0000, 0x0000, 0x3aaf, 0x0000, 0x0000, + 0x3ab1, 0x3ab5, 0x3ab9, 0x0000, 0x0000, 0x0000, 0x3aba, 0x0000, 0x0000, 0x0000, + 0x3abb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ac3, 0x3ac4, 0x0000, 0x0000, + 0x0000, 0x3ac5, 0x3ac6, 0x3ac8, 0x3aca, 0x0000, 0x3ad9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3ada, 0x0000, 0x0000, 0x3ae3, 0x3aea, 0x3aec, 0x0000, 0x0000, 0x3aed, + 0x3aee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3af0, + 0x0000, 0x0000, 0x0000, 0x3af1, 0x0000, 0x0000, 0x0000, 0x0000, 0x3af6, 0x0000, + 0x3af8, 0x0000, 0x3af9, 0x0000, 0x3afc, 0x0000, 0x0000, 0x3afe, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b01, 0x0000, 0x0000, 0x3b02, + 0x0000, 0x3b05, 0x3b09, 0x0000, 0x0000, 0x0000, 0x3b0b, 0x0000, 0x3b0e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b0f, 0x0000, 0x0000, 0x3b10, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3b13, 0x3b19, 0x0000, 0x0000, 0x0000, 0x3b1a, + 0x0000, 0x3b1b, 0x0000, 0x0000, 0x3b1e, 0x0000, 0x3b1f, 0x0000, 0x0000, 0x0000, + 0x3b21, 0x3b22, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b23, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3b24, 0x0000, 0x0000, 0x3b32, 0x3b3a, 0x0000, + 0x3b41, 0x3b42, 0x0000, 0x3b47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b49, + 0x0000, 0x3b4a, 0x3b4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b4f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3b51, 0x3b53, 0x0000, 0x3b5a, 0x3b5b, 0x3b5c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3b64, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b67, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b6d, 0x0000, 0x3b6e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b80, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3b82, 0x0000, 0x3b86, 0x3b88, 0x0000, 0x3b90, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3b92, 0x3b93, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b94, + 0x0000, 0x0000, 0x0000, 0x3b97, 0x3b9e, 0x3ba2, 0x0000, 0x0000, 0x0000, 0x3ba3, + 0x0000, 0x0000, 0x0000, 0x3bad, 0x3baf, 0x0000, 0x0000, 0x0000, 0x3bb0, 0x3bb1, + 0x3bb2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bb5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3bb9, 0x0000, 0x0000, 0x3bbb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3bc0, 0x3bc1, 0x0000, 0x0000, 0x3bc8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3bca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bcb, 0x3bcc, + 0x0000, 0x3bcd, 0x0000, 0x0000, 0x3bcf, 0x0000, 0x0000, 0x3bd0, 0x3bd1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3bd2, 0x3bd5, 0x0000, 0x0000, 0x0000, 0x3bd6, 0x3bd7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3bd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bd9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bdc, 0x0000, 0x3bdd, 0x3bde, 0x0000, + 0x3be2, 0x0000, 0x0000, 0x0000, 0x0000, 0x3be6, 0x0000, 0x3be7, 0x0000, 0x3bed, + 0x0000, 0x0000, 0x3bee, 0x0000, 0x0000, 0x3bef, 0x3bf0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3bf1, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bf3, 0x0000, 0x0000, 0x3bf4, + 0x3bf5, 0x3bf6, 0x0000, 0x3bfc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3bfd, 0x0000, 0x3bfe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3bff, 0x3c00, 0x3c04, 0x0000, 0x3c14, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3c20, 0x0000, 0x0000, 0x3c21, 0x0000, 0x3c23, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3c24, 0x0000, 0x0000, 0x3c25, 0x3c26, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c27, 0x0000, + 0x3c28, 0x0000, 0x0000, 0x0000, 0x3c2a, 0x0000, 0x3c2d, 0x3c32, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3c33, 0x0000, 0x0000, 0x0000, 0x3c34, 0x0000, 0x3c38, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c44, 0x0000, 0x3c4b, 0x0000, + 0x0000, 0x3c4e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c4f, 0x0000, 0x0000, 0x0000, + 0x3c50, 0x0000, 0x0000, 0x0000, 0x3c51, 0x3c59, 0x3c5b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3c5c, 0x0000, 0x0000, 0x3c5f, 0x0000, 0x0000, + 0x0000, 0x3c60, 0x0000, 0x0000, 0x3c62, 0x0000, 0x3c64, 0x3c65, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3c66, 0x3c68, 0x0000, 0x3c69, 0x0000, 0x0000, 0x3c6a, + 0x0000, 0x0000, 0x3c6b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c6c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3c79, 0x0000, 0x0000, 0x3c7c, 0x0000, 0x3c7d, 0x3c7e, + 0x0000, 0x0000, 0x0000, 0x3c7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c80, + 0x0000, 0x3c84, 0x3c8a, 0x0000, 0x0000, 0x0000, 0x3c8b, 0x0000, 0x0000, 0x0000, + 0x3c8c, 0x0000, 0x3c8d, 0x0000, 0x0000, 0x3c98, 0x0000, 0x3ca2, 0x0000, 0x0000, + 0x0000, 0x3ca4, 0x0000, 0x3ca5, 0x3ca6, 0x0000, 0x0000, 0x3ca7, 0x0000, 0x0000, + 0x3cb9, 0x3cba, 0x0000, 0x3cbc, 0x3cc0, 0x0000, 0x3cc1, 0x0000, 0x0000, 0x0000, + 0x3cc2, 0x0000, 0x3cc3, 0x0000, 0x3cc5, 0x3ccd, 0x3cd5, 0x3cd9, 0x3cda, 0x0000, + 0x3cde, 0x0000, 0x3cdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ce2, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3ce4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ce5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ce9, 0x3cea, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3ceb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cec, 0x0000, + 0x0000, 0x0000, 0x3ced, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cf0, 0x0000, 0x0000, + 0x3cf1, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cf2, 0x3cf3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3cf4, 0x0000, 0x3cf9, 0x0000, 0x0000, 0x3cfc, 0x0000, + 0x0000, 0x3cfd, 0x0000, 0x0000, 0x3cff, 0x3d01, 0x3d02, 0x0000, 0x0000, 0x3d04, + 0x0000, 0x3d14, 0x3d15, 0x0000, 0x0000, 0x3d21, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3d22, 0x0000, 0x0000, 0x3d23, 0x0000, 0x0000, 0x0000, + 0x3d28, 0x0000, 0x3d2a, 0x0000, 0x0000, 0x0000, 0x3d30, 0x0000, 0x0000, 0x3d31, + 0x0000, 0x0000, 0x3d34, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d35, 0x0000, + 0x0000, 0x3d3a, 0x0000, 0x0000, 0x3d3b, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d3c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3d3d, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d3e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3d3f, 0x0000, 0x0000, 0x3d41, 0x0000, 0x3d46, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3d47, 0x0000, 0x3d48, 0x0000, 0x0000, 0x3d4a, 0x0000, 0x0000, + 0x0000, 0x3d51, 0x0000, 0x3d53, 0x3d54, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3d55, 0x0000, 0x3d56, 0x3d57, 0x0000, 0x3d58, + 0x0000, 0x3d59, 0x0000, 0x3d5b, 0x0000, 0x3d5d, 0x0000, 0x3d60, 0x3d64, 0x0000, + 0x3d65, 0x0000, 0x3d66, 0x3d68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d6c, + 0x0000, 0x0000, 0x0000, 0x3d6d, 0x0000, 0x3d6e, 0x0000, 0x0000, 0x0000, 0x3d7c, + 0x0000, 0x3d81, 0x3d82, 0x0000, 0x0000, 0x3d83, 0x0000, 0x3d84, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3d85, 0x0000, 0x0000, 0x0000, 0x3d88, 0x0000, 0x3d89, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d8f, 0x0000, 0x0000, 0x0000, + 0x3d95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3d97, 0x0000, 0x0000, 0x0000, 0x3d9b, 0x0000, 0x0000, 0x3da8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3da9, 0x3dae, 0x3daf, 0x0000, 0x0000, 0x3db0, 0x0000, 0x0000, + 0x0000, 0x3dbf, 0x0000, 0x3dc3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dca, 0x0000, 0x0000, 0x0000, + 0x3dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dcd, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3dce, 0x3dd0, 0x0000, 0x0000, 0x3dd3, 0x0000, 0x0000, 0x3dd5, 0x3dd7, + 0x0000, 0x3dd8, 0x0000, 0x0000, 0x3dd9, 0x0000, 0x3ddb, 0x3dde, 0x3ddf, 0x3de3, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3de4, 0x0000, 0x0000, 0x0000, 0x0000, 0x3de5, 0x3deb, 0x3df0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3df2, 0x3df4, 0x0000, 0x3df5, + 0x0000, 0x0000, 0x0000, 0x3df8, 0x0000, 0x0000, 0x0000, 0x0000, 0x3df9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dfa, 0x0000, 0x3e00, 0x0000, 0x0000, + 0x3e04, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e05, 0x3e06, 0x3e0b, 0x3e0d, 0x0000, + 0x0000, 0x3e10, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e11, 0x3e12, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e14, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e15, 0x0000, 0x0000, 0x3e16, 0x0000, + 0x0000, 0x0000, 0x3e17, 0x0000, 0x3e18, 0x3e19, 0x0000, 0x3e1a, 0x3e1d, 0x3e1e, + 0x0000, 0x3e27, 0x3e2b, 0x0000, 0x3e2c, 0x0000, 0x3e34, 0x3e3f, 0x0000, 0x3e41, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e4e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3e56, 0x0000, 0x0000, 0x0000, 0x3e59, 0x0000, 0x0000, + 0x3e5e, 0x0000, 0x3e5f, 0x0000, 0x0000, 0x3e69, 0x0000, 0x0000, 0x3e6a, 0x0000, + 0x0000, 0x3e6d, 0x3e6e, 0x3e6f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3e72, 0x0000, 0x0000, 0x0000, 0x3e76, 0x0000, 0x3e77, 0x3e7b, 0x3e7e, + 0x0000, 0x3e7f, 0x0000, 0x3e80, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e88, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e89, 0x3e8b, + 0x0000, 0x3e8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3e8e, 0x0000, 0x0000, 0x3e8f, 0x3e97, 0x3e98, 0x3e99, 0x0000, 0x0000, 0x3e9a, + 0x0000, 0x3e9e, 0x0000, 0x3ea0, 0x0000, 0x3ea1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3ea3, 0x3ea4, 0x3ea5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3ea7, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ea9, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x3eab, 0x3eac, 0x0000, 0x0000, 0x3eaf, 0x0000, 0x0000, 0x0000, 0x3eb0, + 0x0000, 0x0000, 0x3eb1, 0x3eb2, 0x3eb4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3eb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3eb8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3eba, 0x3ebc, 0x3ebd, + 0x0000, 0x0000, 0x3ebf, 0x0000, 0x0000, 0x3ec0, 0x0000, 0x0000, 0x0000, 0x3ec3, + 0x3ec4, 0x0000, 0x0000, 0x3ec5, 0x3ece, 0x0000, 0x0000, 0x0000, 0x3ecf, 0x0000, + 0x0000, 0x0000, 0x3ed0, 0x0000, 0x3ed1, 0x0000, 0x0000, 0x0000, 0x3ed8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3ed9, 0x3edd, 0x0000, 0x3ee1, 0x0000, 0x3ee7, 0x0000, 0x3ee8, 0x3ee9, 0x0000, + 0x0000, 0x3f80, 0x0000, 0x0000, 0x3f83, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x3f84, 0x3f85, 0x0000, 0x0000, 0x3f86, 0x0000, 0x0000, 0x3f87, + 0x0000, 0x3f8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f8d, + 0x0000, 0x0000, 0x3f8e, 0x3f91, 0x0000, 0x3f92, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3f93, 0x3f94, 0x3f95, 0x3f98, 0x0000, 0x0000, 0x0000, 0x3f99, 0x3f9c, 0x0000, + 0x0000, 0x0000, 0x3f9e, 0x0000, 0x3fa1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa2, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa3, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa5, 0x3fa7, 0x3fa9, 0x0000, + 0x3fae, 0x0000, 0x3fb0, 0x0000, 0x3fb1, 0x0000, 0x3fb2, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fb3, + 0x3fb4, 0x3fb8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fb9, 0x3fbb, + 0x0000, 0x3fbe, 0x0000, 0x0000, 0x0000, 0x3fc1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3fc6, 0x3fcd, 0x3fd0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3fd1, 0x3fd4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fd9, 0x0000, 0x0000, + 0x3fda, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3fdb, 0x0000, 0x0000, 0x3fdc, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fdd, 0x0000, + 0x0000, 0x0000, 0x3fde, 0x0000, 0x3fe5, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fe7, + 0x3fe8, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fea, 0x3feb, 0x3fec, 0x3fed, 0x0000, + 0x0000, 0x3fee, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fef, 0x3ff0, 0x0000, 0x3ff1, + 0x3ff6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ff8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x3ffa, 0x3ffb, 0x0000, 0x3ffc, 0x0000, 0x0000, 0x0000, + 0x3ffd, 0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4006, 0x0000, 0x0000, + 0x0000, 0x400f, 0x0000, 0x4012, 0x4014, 0x4016, 0x4017, 0x0000, 0x0000, 0x0000, + 0x4019, 0x401b, 0x0000, 0x0000, 0x0000, 0x0000, 0x401c, 0x0000, 0x401d, 0x401f, + 0x4027, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4028, 0x0000, 0x0000, 0x0000, + 0x402c, 0x4032, 0x4033, 0x4041, 0x0000, 0x4042, 0x4043, 0x0000, 0x0000, 0x0000, + 0x4045, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4046, 0x0000, 0x0000, 0x4048, + 0x404a, 0x0000, 0x0000, 0x404b, 0x0000, 0x0000, 0x404c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x404e, 0x0000, 0x404f, 0x0000, 0x0000, 0x4052, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x405f, 0x0000, 0x0000, 0x4060, 0x0000, 0x4061, 0x4064, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4065, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4069, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x406b, 0x0000, 0x0000, 0x4072, 0x0000, 0x0000, 0x4077, 0x0000, + 0x4079, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x407a, + 0x0000, 0x0000, 0x0000, 0x407c, 0x407d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x407f, 0x4081, 0x0000, 0x0000, 0x0000, 0x4084, 0x0000, + 0x4085, 0x0000, 0x4087, 0x0000, 0x4091, 0x0000, 0x0000, 0x4093, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4096, 0x0000, 0x0000, 0x409d, 0x409e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x409f, 0x40a3, + 0x40a4, 0x0000, 0x0000, 0x0000, 0x40a7, 0x0000, 0x40a8, 0x0000, 0x0000, 0x0000, + 0x40a9, 0x0000, 0x0000, 0x40ae, 0x0000, 0x0000, 0x40b2, 0x40b5, 0x0000, 0x0000, + 0x0000, 0x40ba, 0x0000, 0x0000, 0x0000, 0x40bd, 0x40c9, 0x0000, 0x0000, 0x0000, + 0x40ca, 0x40cb, 0x40d3, 0x0000, 0x40d4, 0x0000, 0x40d6, 0x0000, 0x0000, 0x0000, + 0x40d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x40d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x40db, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x40dc, 0x40e4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x40e5, 0x0000, 0x40ea, 0x0000, 0x0000, 0x0000, 0x4100, + 0x0000, 0x0000, 0x4101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4105, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4106, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x410b, 0x0000, 0x0000, 0x0000, 0x0000, 0x410d, 0x410e, 0x0000, 0x0000, + 0x0000, 0x410f, 0x0000, 0x0000, 0x4110, 0x411b, 0x0000, 0x0000, 0x0000, 0x0000, + 0x411f, 0x0000, 0x4120, 0x0000, 0x0000, 0x0000, 0x4121, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4124, 0x0000, 0x412e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4131, + 0x0000, 0x4132, 0x0000, 0x4134, 0x0000, 0x4135, 0x0000, 0x4136, 0x0000, 0x4138, + 0x0000, 0x0000, 0x0000, 0x4141, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4143, 0x0000, 0x0000, 0x0000, 0x4145, 0x0000, 0x0000, 0x0000, 0x0000, 0x4147, + 0x0000, 0x4148, 0x4149, 0x0000, 0x0000, 0x0000, 0x414b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x414c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x414e, 0x4154, 0x0000, 0x0000, 0x4156, 0x4157, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4158, 0x0000, 0x4159, 0x0000, 0x0000, 0x415a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x415b, 0x0000, 0x0000, 0x0000, 0x415c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x415e, 0x4162, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4167, 0x0000, 0x0000, 0x4169, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x416d, 0x0000, 0x4170, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4174, 0x0000, 0x0000, 0x4176, 0x0000, 0x4177, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4178, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x417a, + 0x0000, 0x4181, 0x0000, 0x4182, 0x0000, 0x4184, 0x0000, 0x0000, 0x0000, 0x4189, + 0x418c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x418d, 0x0000, 0x0000, + 0x418e, 0x0000, 0x4190, 0x0000, 0x0000, 0x4191, 0x4193, 0x4198, 0x0000, 0x0000, + 0x419a, 0x0000, 0x0000, 0x0000, 0x419e, 0x0000, 0x0000, 0x41a9, 0x0000, 0x0000, + 0x41ae, 0x41b0, 0x41b1, 0x0000, 0x41b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41b4, 0x0000, 0x0000, 0x41c4, 0x41c7, + 0x0000, 0x0000, 0x41c9, 0x41d3, 0x41d9, 0x0000, 0x0000, 0x41da, 0x41db, 0x0000, + 0x0000, 0x41dc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x41de, 0x0000, 0x41df, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x41e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41ec, 0x0000, + 0x41f1, 0x41f2, 0x0000, 0x41f5, 0x41f6, 0x0000, 0x41f7, 0x0000, 0x0000, 0x0000, + 0x41f9, 0x41fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41fe, 0x41ff, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4201, 0x0000, 0x4202, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4211, 0x0000, + 0x0000, 0x421c, 0x421d, 0x421e, 0x0000, 0x0000, 0x421f, 0x0000, 0x0000, 0x0000, + 0x4229, 0x422a, 0x0000, 0x0000, 0x0000, 0x422c, 0x422d, 0x0000, 0x0000, 0x0000, + 0x422e, 0x4231, 0x0000, 0x4232, 0x4235, 0x4236, 0x0000, 0x0000, 0x0000, 0x4238, + 0x423b, 0x0000, 0x0000, 0x0000, 0x4245, 0x0000, 0x4249, 0x0000, 0x0000, 0x424f, + 0x0000, 0x0000, 0x4250, 0x0000, 0x0000, 0x0000, 0x0000, 0x4252, 0x0000, 0x0000, + 0x4255, 0x0000, 0x4257, 0x425d, 0x0000, 0x0000, 0x0000, 0x0000, 0x425e, 0x0000, + 0x0000, 0x425f, 0x0000, 0x0000, 0x0000, 0x4261, 0x0000, 0x4262, 0x4264, 0x4268, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x426a, 0x426c, 0x0000, 0x426e, 0x0000, + 0x0000, 0x426f, 0x0000, 0x0000, 0x0000, 0x0000, 0x4270, 0x4275, 0x4276, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x427d, 0x0000, + 0x4287, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4289, 0x428c, 0x0000, 0x428e, + 0x0000, 0x0000, 0x428f, 0x0000, 0x4295, 0x0000, 0x0000, 0x4296, 0x4297, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4298, 0x0000, 0x4299, 0x429a, 0x0000, 0x429b, 0x429d, + 0x0000, 0x429e, 0x0000, 0x429f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42a7, + 0x0000, 0x0000, 0x42a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x42a9, 0x0000, 0x0000, 0x42ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b0, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b2, 0x0000, 0x42b8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b9, + 0x42bb, 0x42bc, 0x0000, 0x0000, 0x0000, 0x42bd, 0x0000, 0x0000, 0x0000, 0x0000, + 0x42c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x42c5, 0x0000, 0x42c7, 0x42ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x42cf, 0x0000, 0x0000, 0x42d1, 0x0000, 0x42d3, 0x0000, 0x0000, 0x0000, 0x0000, + 0x42da, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42db, 0x42e5, 0x42e7, 0x0000, + 0x0000, 0x42e8, 0x0000, 0x0000, 0x0000, 0x42e9, 0x42ea, 0x0000, 0x42eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x42ec, 0x42ef, 0x42f9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42fa, 0x0000, 0x42fb, 0x0000, 0x42fc, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42fd, 0x42fe, 0x0000, 0x42ff, + 0x4301, 0x0000, 0x4303, 0x0000, 0x0000, 0x0000, 0x0000, 0x430b, 0x4313, 0x0000, + 0x4316, 0x0000, 0x0000, 0x0000, 0x0000, 0x431b, 0x0000, 0x0000, 0x431e, 0x4321, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4322, 0x0000, 0x0000, 0x4324, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4325, 0x4327, 0x0000, 0x432a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x432b, + 0x432c, 0x4333, 0x4334, 0x0000, 0x0000, 0x4335, 0x4341, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4342, 0x0000, 0x0000, 0x0000, 0x0000, 0x4343, 0x0000, 0x4344, + 0x0000, 0x4345, 0x0000, 0x0000, 0x434e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4354, 0x0000, 0x4356, 0x4357, 0x0000, 0x0000, 0x0000, 0x4359, 0x435c, 0x0000, + 0x0000, 0x435d, 0x0000, 0x4360, 0x0000, 0x0000, 0x4363, 0x0000, 0x4364, 0x0000, + 0x0000, 0x4370, 0x0000, 0x4372, 0x0000, 0x0000, 0x0000, 0x4374, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4377, 0x4378, 0x0000, 0x4379, 0x0000, 0x438f, 0x0000, 0x4396, + 0x0000, 0x4399, 0x0000, 0x0000, 0x0000, 0x439a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x439c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x439d, 0x0000, 0x439e, 0x43a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x43a2, 0x43a3, + 0x0000, 0x43a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x43a6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x43a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x43b6, 0x0000, 0x43c0, 0x43c4, 0x0000, 0x0000, 0x0000, 0x43c6, 0x43c7, + 0x0000, 0x0000, 0x43c9, 0x0000, 0x0000, 0x43ca, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x43cb, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x43cc, 0x43cd, 0x0000, 0x0000, 0x43cf, 0x0000, 0x0000, 0x0000, + 0x43db, 0x0000, 0x43dc, 0x0000, 0x0000, 0x0000, 0x43f1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x43f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x43f3, 0x0000, 0x0000, + 0x43f7, 0x0000, 0x0000, 0x0000, 0x43f9, 0x4409, 0x0000, 0x440a, 0x0000, 0x440b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x440e, 0x440f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4414, 0x4415, + 0x4419, 0x0000, 0x0000, 0x0000, 0x441d, 0x0000, 0x0000, 0x4421, 0x0000, 0x0000, + 0x4422, 0x0000, 0x0000, 0x442d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x442e, 0x4430, 0x4436, 0x0000, 0x0000, 0x443a, 0x0000, 0x0000, + 0x443c, 0x0000, 0x0000, 0x443d, 0x0000, 0x0000, 0x0000, 0x0000, 0x443e, 0x0000, + 0x4443, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4447, 0x0000, 0x0000, 0x0000, + 0x444b, 0x444c, 0x0000, 0x444d, 0x0000, 0x444e, 0x0000, 0x4453, 0x4454, 0x0000, + 0x0000, 0x4455, 0x0000, 0x4456, 0x4457, 0x0000, 0x0000, 0x0000, 0x4458, 0x0000, + 0x0000, 0x0000, 0x4459, 0x0000, 0x0000, 0x0000, 0x445e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x445f, 0x0000, 0x4461, 0x0000, 0x4463, 0x0000, 0x0000, 0x0000, + 0x4468, 0x4469, 0x446a, 0x0000, 0x0000, 0x446b, 0x0000, 0x0000, 0x0000, 0x446f, + 0x0000, 0x0000, 0x0000, 0x4472, 0x0000, 0x0000, 0x4473, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4477, 0x0000, 0x0000, 0x0000, + 0x4478, 0x0000, 0x0000, 0x0000, 0x447e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4480, + 0x0000, 0x0000, 0x0000, 0x4483, 0x0000, 0x4484, 0x4487, 0x448d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4494, 0x0000, 0x0000, 0x4496, 0x0000, 0x4497, + 0x0000, 0x0000, 0x4498, 0x0000, 0x0000, 0x0000, 0x449b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x449c, 0x0000, 0x0000, 0x449d, 0x449e, 0x0000, 0x449f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44a1, 0x44a2, 0x0000, 0x44a7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x44ad, 0x0000, 0x0000, 0x0000, 0x44ae, 0x44af, 0x0000, 0x44b2, 0x0000, + 0x0000, 0x44b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44b4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x44bc, 0x44bd, 0x0000, 0x0000, 0x44be, 0x44c0, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44c1, 0x0000, 0x0000, 0x0000, + 0x44c4, 0x0000, 0x0000, 0x44c5, 0x0000, 0x0000, 0x44c7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44cc, 0x0000, 0x0000, 0x44d2, + 0x0000, 0x44d5, 0x44d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x44d7, 0x0000, 0x0000, + 0x44d8, 0x0000, 0x0000, 0x44de, 0x0000, 0x0000, 0x44df, 0x44e1, 0x44e2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e3, 0x0000, 0x0000, 0x44e4, + 0x0000, 0x0000, 0x44e5, 0x0000, 0x44e6, 0x0000, 0x44e8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x44ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x44ee, 0x44fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x44ff, 0x4500, 0x0000, 0x4501, 0x4502, 0x0000, 0x0000, + 0x0000, 0x4505, 0x4507, 0x4509, 0x0000, 0x450f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4514, 0x0000, 0x0000, 0x0000, 0x4516, 0x0000, 0x4532, + 0x0000, 0x0000, 0x4538, 0x453a, 0x453e, 0x0000, 0x0000, 0x4540, 0x0000, 0x0000, + 0x4541, 0x0000, 0x0000, 0x0000, 0x4544, 0x0000, 0x4545, 0x0000, 0x4546, 0x0000, + 0x0000, 0x0000, 0x4547, 0x0000, 0x0000, 0x0000, 0x0000, 0x4549, 0x0000, 0x0000, + 0x0000, 0x0000, 0x454b, 0x0000, 0x0000, 0x0000, 0x454d, 0x454e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x454f, 0x4550, 0x4551, 0x0000, 0x0000, 0x0000, 0x4555, 0x0000, + 0x4556, 0x4557, 0x4558, 0x455a, 0x4561, 0x4562, 0x0000, 0x4563, 0x0000, 0x4566, + 0x0000, 0x456c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x456f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4570, 0x0000, 0x0000, 0x4571, 0x0000, + 0x0000, 0x4572, 0x4573, 0x0000, 0x4576, 0x4577, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4578, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x459d, 0x0000, 0x0000, 0x0000, 0x459e, 0x0000, + 0x0000, 0x0000, 0x459f, 0x45a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45a2, + 0x45a7, 0x45a8, 0x45a9, 0x0000, 0x0000, 0x45b5, 0x0000, 0x0000, 0x0000, 0x45b6, + 0x0000, 0x0000, 0x0000, 0x45b8, 0x45ba, 0x45be, 0x0000, 0x45bf, 0x0000, 0x0000, + 0x45c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45c4, 0x45c5, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45ce, 0x45cf, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45d0, 0x0000, 0x0000, 0x0000, + 0x45d7, 0x0000, 0x0000, 0x0000, 0x45d9, 0x45db, 0x0000, 0x45dc, 0x0000, 0x45dd, + 0x0000, 0x0000, 0x45de, 0x0000, 0x0000, 0x45df, 0x45e3, 0x4621, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4622, 0x0000, 0x0000, 0x4623, 0x0000, 0x4630, 0x0000, 0x0000, + 0x4634, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4636, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4638, 0x463a, 0x0000, 0x0000, 0x463f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4653, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4657, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4659, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x465a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x465c, 0x0000, 0x0000, + 0x465e, 0x0000, 0x0000, 0x0000, 0x465f, 0x0000, 0x0000, 0x0000, 0x4660, 0x0000, + 0x4661, 0x0000, 0x0000, 0x0000, 0x466e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x466f, 0x0000, 0x0000, 0x4674, 0x4675, 0x4676, 0x0000, 0x0000, + 0x4681, 0x4688, 0x0000, 0x4689, 0x468a, 0x0000, 0x468b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x468e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4690, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4693, + 0x0000, 0x0000, 0x0000, 0x4694, 0x0000, 0x0000, 0x469b, 0x0000, 0x0000, 0x469e, + 0x46ad, 0x46ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x46b1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x46b2, 0x46b4, 0x0000, 0x0000, + 0x0000, 0x46bc, 0x0000, 0x46bf, 0x0000, 0x0000, 0x46c0, 0x0000, 0x46c1, 0x0000, + 0x0000, 0x46c3, 0x46c4, 0x0000, 0x46c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x46c9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x46cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x46cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x46cd, + 0x46ce, 0x0000, 0x46cf, 0x0000, 0x0000, 0x46d0, 0x46d7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x46e6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x46e7, 0x46e8, 0x0000, 0x0000, 0x46ec, 0x46f4, 0x0000, 0x46f6, + 0x46fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x46fc, 0x4707, 0x0000, 0x4708, 0x0000, 0x0000, 0x0000, 0x0000, 0x4709, 0x0000, + 0x470b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x470c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x470d, 0x0000, 0x0000, 0x470e, 0x0000, + 0x0000, 0x470f, 0x4710, 0x0000, 0x0000, 0x4712, 0x4713, 0x4714, 0x0000, 0x0000, + 0x0000, 0x4715, 0x0000, 0x471b, 0x0000, 0x471c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x471d, 0x0000, 0x0000, 0x0000, 0x471f, 0x4720, 0x0000, 0x0000, 0x4726, 0x0000, + 0x0000, 0x0000, 0x4727, 0x4728, 0x0000, 0x0000, 0x0000, 0x472c, 0x0000, 0x0000, + 0x472e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x472f, 0x0000, 0x4731, 0x4737, + 0x0000, 0x473a, 0x0000, 0x473b, 0x0000, 0x0000, 0x0000, 0x0000, 0x4740, 0x0000, + 0x0000, 0x4741, 0x4742, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4743, 0x474b, + 0x0000, 0x474d, 0x0000, 0x474e, 0x0000, 0x0000, 0x0000, 0x475a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x475d, 0x475e, 0x475f, 0x4761, 0x4769, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x476a, 0x0000, 0x476b, 0x0000, 0x476c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x476d, 0x0000, 0x476f, 0x4771, 0x0000, 0x0000, 0x4772, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4784, 0x0000, 0x0000, 0x0000, 0x4786, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4787, 0x0000, 0x4788, 0x4789, 0x0000, 0x478b, 0x0000, 0x0000, 0x478c, 0x4790, + 0x0000, 0x479b, 0x0000, 0x479c, 0x0000, 0x47a0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x47a1, 0x0000, 0x47a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x47a5, 0x0000, 0x47a8, 0x47a9, 0x0000, 0x47aa, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x47ac, 0x0000, 0x47af, 0x0000, 0x0000, 0x47b4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x47b5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x47bf, 0x0000, 0x0000, 0x0000, 0x47c0, 0x0000, 0x47c1, 0x0000, 0x47c2, + 0x47c3, 0x0000, 0x0000, 0x0000, 0x4805, 0x480c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x480d, 0x4812, 0x0000, 0x0000, 0x0000, 0x0000, 0x4813, 0x0000, 0x4814, 0x0000, + 0x0000, 0x0000, 0x4815, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4817, 0x0000, + 0x0000, 0x0000, 0x4818, 0x0000, 0x4819, 0x0000, 0x481c, 0x0000, 0x0000, 0x481d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4822, 0x0000, + 0x0000, 0x4823, 0x0000, 0x0000, 0x0000, 0x0000, 0x4829, 0x0000, 0x0000, 0x0000, + 0x482c, 0x0000, 0x482d, 0x0000, 0x0000, 0x0000, 0x482e, 0x482f, 0x4830, 0x0000, + 0x0000, 0x0000, 0x4835, 0x0000, 0x0000, 0x0000, 0x4836, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4838, 0x483a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x483b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x483f, 0x0000, 0x0000, + 0x4840, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4849, 0x0000, 0x4859, + 0x0000, 0x485a, 0x485b, 0x0000, 0x0000, 0x0000, 0x485d, 0x485e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x485f, 0x0000, 0x0000, 0x0000, 0x0000, 0x4864, 0x4865, + 0x0000, 0x4866, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4867, 0x4869, + 0x0000, 0x486a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x486c, 0x486d, + 0x486e, 0x486f, 0x0000, 0x4872, 0x0000, 0x0000, 0x0000, 0x0000, 0x4879, 0x487c, + 0x0000, 0x0000, 0x487e, 0x0000, 0x0000, 0x4889, 0x488b, 0x0000, 0x0000, 0x0000, + 0x488c, 0x0000, 0x488e, 0x0000, 0x0000, 0x0000, 0x0000, 0x489a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x489c, 0x0000, 0x0000, 0x489d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x489e, 0x0000, 0x48a0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x48a2, 0x0000, 0x0000, 0x0000, 0x48a4, 0x0000, 0x0000, 0x48a5, 0x48a6, 0x0000, + 0x0000, 0x48a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x48aa, 0x0000, 0x0000, 0x0000, + 0x48ab, 0x48ac, 0x0000, 0x48ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x48b0, 0x0000, + 0x0000, 0x48b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x48b4, 0x0000, 0x48b8, 0x0000, 0x0000, 0x48b9, 0x48bb, 0x0000, 0x0000, + 0x0000, 0x48c4, 0x0000, 0x0000, 0x0000, 0x48c5, 0x0000, 0x0000, 0x48c6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x48c7, 0x0000, 0x48c8, 0x0000, + 0x0000, 0x48cb, 0x48cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x48d1, + 0x48d3, 0x48d8, 0x0000, 0x48dc, 0x0000, 0x0000, 0x48dd, 0x0000, 0x48df, 0x48e0, + 0x0000, 0x0000, 0x0000, 0x48e1, 0x0000, 0x0000, 0x48ea, 0x48f2, 0x0000, 0x0000, + 0x0000, 0x0000, 0x48f5, 0x48fc, 0x48fd, 0x0000, 0x0000, 0x48fe, 0x0000, 0x0000, + 0x4902, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4907, 0x4908, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4909, 0x0000, 0x0000, 0x490c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x490e, 0x0000, 0x4914, 0x0000, 0x0000, 0x4915, 0x0000, 0x4916, 0x0000, 0x0000, + 0x4917, 0x0000, 0x491a, 0x0000, 0x0000, 0x491e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x491f, 0x0000, 0x0000, 0x4922, 0x0000, 0x4926, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x492b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4933, 0x4935, 0x0000, + 0x0000, 0x4936, 0x0000, 0x4937, 0x4938, 0x493a, 0x493c, 0x0000, 0x4940, 0x4941, + 0x0000, 0x0000, 0x4942, 0x494b, 0x0000, 0x494d, 0x0000, 0x0000, 0x0000, 0x494e, + 0x0000, 0x0000, 0x0000, 0x4951, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4955, + 0x495a, 0x495b, 0x495d, 0x0000, 0x0000, 0x4960, 0x4963, 0x0000, 0x4964, 0x0000, + 0x4969, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x496b, 0x0000, 0x0000, + 0x4970, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4971, 0x4974, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4976, 0x0000, 0x0000, 0x0000, 0x497b, + 0x497f, 0x4980, 0x0000, 0x0000, 0x0000, 0x0000, 0x4989, 0x0000, 0x0000, 0x498b, + 0x498d, 0x0000, 0x0000, 0x498e, 0x0000, 0x0000, 0x0000, 0x0000, 0x498f, 0x0000, + 0x0000, 0x4990, 0x0000, 0x0000, 0x0000, 0x0000, 0x4991, 0x0000, 0x4998, 0x0000, + 0x4999, 0x0000, 0x499a, 0x0000, 0x0000, 0x0000, 0x0000, 0x499b, 0x0000, 0x499c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x499d, 0x499e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49a0, 0x0000, 0x0000, + 0x0000, 0x49a5, 0x49ac, 0x0000, 0x0000, 0x49ae, 0x49b2, 0x0000, 0x0000, 0x49b3, + 0x49b5, 0x0000, 0x0000, 0x49ba, 0x49c1, 0x49cb, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49cc, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49cf, 0x0000, 0x49d0, 0x0000, 0x0000, + 0x0000, 0x49d4, 0x0000, 0x0000, 0x0000, 0x49d5, 0x0000, 0x49d6, 0x49e3, 0x49e4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49e7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x49e8, 0x0000, 0x0000, 0x0000, 0x49e9, 0x49f1, + 0x0000, 0x0000, 0x0000, 0x0000, 0x49f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x49f4, 0x0000, 0x0000, 0x0000, 0x0000, 0x49f6, 0x49fe, 0x0000, 0x0000, + 0x0000, 0x4a07, 0x4a0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a0e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4a0f, 0x4a10, 0x0000, 0x0000, 0x4a11, 0x0000, 0x0000, 0x4a12, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a13, 0x4a14, 0x0000, 0x0000, 0x0000, 0x4a15, + 0x0000, 0x4a17, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4a18, 0x0000, 0x4a19, 0x0000, 0x4a1a, 0x4a1d, 0x4a20, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a21, 0x0000, 0x0000, 0x0000, 0x4a25, 0x0000, + 0x0000, 0x0000, 0x4a2e, 0x0000, 0x4a36, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a37, 0x4a3b, 0x0000, 0x0000, 0x4a3d, 0x0000, 0x0000, 0x0000, 0x4a3e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a40, 0x4a43, 0x0000, 0x0000, 0x4a4a, + 0x0000, 0x0000, 0x4a4b, 0x0000, 0x4a50, 0x0000, 0x4a57, 0x4a58, 0x0000, 0x4a5f, + 0x0000, 0x4a61, 0x4a6a, 0x0000, 0x0000, 0x0000, 0x4a6b, 0x4a6f, 0x4a70, 0x0000, + 0x4a73, 0x4a77, 0x4a78, 0x0000, 0x0000, 0x4a90, 0x0000, 0x0000, 0x0000, 0x4a95, + 0x4a96, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a97, 0x0000, 0x4a98, 0x0000, 0x0000, + 0x0000, 0x4a99, 0x0000, 0x0000, 0x4a9a, 0x0000, 0x4a9b, 0x4a9c, 0x0000, 0x0000, + 0x4a9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4aa7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4aa8, 0x0000, 0x0000, 0x0000, 0x4aac, + 0x4aad, 0x0000, 0x4ab1, 0x4ab2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ab3, 0x4ab4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ab5, 0x4ab6, 0x0000, 0x4ab8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ab9, + 0x4aba, 0x4abb, 0x4abc, 0x0000, 0x0000, 0x4aca, 0x0000, 0x0000, 0x4acb, 0x4ad4, + 0x4ad6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4aee, + 0x4af1, 0x0000, 0x0000, 0x4af3, 0x0000, 0x0000, 0x0000, 0x4af9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4afa, 0x0000, 0x4afd, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4afe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4b02, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b03, 0x0000, 0x4b05, 0x4b0a, + 0x0000, 0x0000, 0x0000, 0x4b0d, 0x0000, 0x4b12, 0x0000, 0x0000, 0x0000, 0x4b17, + 0x4b1d, 0x0000, 0x0000, 0x4b1e, 0x0000, 0x0000, 0x4b1f, 0x4b20, 0x4b21, 0x4b27, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b28, 0x0000, 0x4b30, 0x4b31, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4b36, 0x0000, 0x4b38, 0x4b3a, 0x4b3b, 0x0000, 0x0000, + 0x4b3d, 0x0000, 0x4b42, 0x0000, 0x0000, 0x0000, 0x4b48, 0x0000, 0x4b4e, 0x4b51, + 0x4b52, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4b53, 0x0000, 0x0000, 0x4b54, 0x0000, 0x0000, 0x4b55, + 0x4b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b58, 0x4b5b, 0x0000, 0x4b5c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4b61, 0x0000, 0x4b62, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4b66, 0x4b67, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b68, 0x4b69, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4b72, 0x0000, 0x0000, 0x4b73, 0x0000, 0x0000, 0x4b79, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b7a, 0x0000, 0x4b85, 0x0000, + 0x4b86, 0x4b87, 0x0000, 0x4b88, 0x4b89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b92, 0x0000, 0x0000, 0x4b99, + 0x0000, 0x4b9a, 0x4ba2, 0x0000, 0x4ba6, 0x4ba7, 0x0000, 0x0000, 0x4ba9, 0x0000, + 0x4baf, 0x0000, 0x4bb1, 0x4bb4, 0x4bbc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4bbd, 0x4bbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4bca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4bd4, 0x0000, 0x0000, 0x4bd5, 0x4bde, 0x0000, 0x4be0, 0x0000, 0x0000, + 0x0000, 0x4be1, 0x0000, 0x0000, 0x0000, 0x4be4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4be7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4be8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4bf8, 0x4c03, 0x0000, 0x0000, 0x4c05, 0x0000, 0x4c06, 0x4c07, + 0x0000, 0x4c0b, 0x4c12, 0x4c1a, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c26, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4c2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4c2e, 0x4c30, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4c31, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c32, 0x4c33, + 0x0000, 0x0000, 0x0000, 0x4c34, 0x0000, 0x0000, 0x4c37, 0x0000, 0x0000, 0x4c3a, + 0x0000, 0x4c3b, 0x0000, 0x4c3c, 0x0000, 0x4c3e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4c4a, 0x0000, 0x4c51, 0x4c52, 0x0000, 0x4c57, + 0x4c5a, 0x0000, 0x4c5b, 0x4c5f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4c60, 0x4c61, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4c63, 0x0000, 0x0000, 0x4c64, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4c68, 0x4c69, 0x0000, 0x0000, 0x4c6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4c6d, 0x4c6f, 0x0000, 0x4c70, 0x0000, 0x0000, 0x0000, 0x4c71, 0x4c72, + 0x0000, 0x4c7a, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c7c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4c7d, 0x4c80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4c81, 0x4c82, 0x0000, 0x0000, 0x0000, 0x4c83, 0x4c84, 0x0000, 0x4c85, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c88, 0x4c89, 0x4c8f, 0x0000, 0x4c90, + 0x0000, 0x0000, 0x4c94, 0x0000, 0x0000, 0x4c95, 0x0000, 0x4c96, 0x4c98, 0x4c9a, + 0x0000, 0x4c9d, 0x4c9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ca0, + 0x4ca1, 0x0000, 0x0000, 0x4ca2, 0x0000, 0x0000, 0x4ca3, 0x0000, 0x0000, 0x0000, + 0x4ca4, 0x4ca5, 0x4caf, 0x0000, 0x0000, 0x4cb0, 0x4cb2, 0x4cb4, 0x0000, 0x4cbb, + 0x0000, 0x0000, 0x4cbc, 0x4cca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4ccb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4cdb, 0x4cdd, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4cdf, 0x0000, 0x4ce3, 0x0000, 0x4ce4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4ce7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4ce8, 0x4ce9, 0x4cec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4cef, 0x4cf1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4cf2, + 0x4cf3, 0x0000, 0x0000, 0x4cf4, 0x0000, 0x4cf6, 0x0000, 0x0000, 0x4cf7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4cf8, 0x4cfc, 0x0000, 0x4cfe, 0x0000, + 0x4d01, 0x0000, 0x0000, 0x0000, 0x4d03, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d06, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d08, 0x0000, 0x4d0a, + 0x0000, 0x0000, 0x4d0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d12, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4d13, 0x0000, 0x4d16, 0x4d17, 0x4d1b, 0x0000, 0x0000, 0x4d1c, + 0x0000, 0x4d1d, 0x0000, 0x0000, 0x0000, 0x4d22, 0x0000, 0x0000, 0x4d23, 0x0000, + 0x4d3b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d3c, + 0x4d3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d42, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4d43, 0x0000, 0x0000, 0x4d44, 0x4d4e, 0x0000, 0x4d4f, + 0x0000, 0x0000, 0x4d50, 0x0000, 0x0000, 0x0000, 0x4d51, 0x0000, 0x0000, 0x4d54, + 0x4d55, 0x0000, 0x0000, 0x0000, 0x4d57, 0x0000, 0x0000, 0x0000, 0x4d59, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4d5b, 0x0000, 0x4d5c, 0x0000, 0x4d5d, 0x0000, 0x0000, + 0x4d5f, 0x0000, 0x0000, 0x0000, 0x4d60, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4d61, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d68, + 0x0000, 0x4d6d, 0x0000, 0x4d6e, 0x4d76, 0x4d77, 0x0000, 0x0000, 0x0000, 0x4d79, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4d7e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d7f, 0x0000, 0x0000, 0x4d83, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4d85, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d87, 0x0000, + 0x0000, 0x4d88, 0x0000, 0x4d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4d8b, 0x0000, 0x0000, 0x0000, 0x4d8e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d98, 0x0000, 0x4d99, 0x0000, 0x4d9a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d9c, 0x0000, 0x0000, + 0x4d9e, 0x0000, 0x0000, 0x4d9f, 0x0000, 0x0000, 0x4da0, 0x4da1, 0x4da3, 0x0000, + 0x4da8, 0x4daa, 0x4dac, 0x0000, 0x0000, 0x4dad, 0x4dae, 0x4db0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4db2, 0x4db4, 0x4db5, 0x0000, 0x0000, 0x4db6, 0x0000, 0x0000, 0x0000, 0x4db7, + 0x0000, 0x4db8, 0x4dbe, 0x0000, 0x0000, 0x4dbf, 0x0000, 0x0000, 0x4dc1, 0x0000, + 0x0000, 0x0000, 0x4dc2, 0x0000, 0x4dc4, 0x0000, 0x4dc5, 0x4dc7, 0x0000, 0x0000, + 0x0000, 0x4dc9, 0x4dd0, 0x0000, 0x4de2, 0x4de3, 0x4de4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4de6, 0x0000, 0x4de7, 0x0000, 0x4de9, 0x0000, + 0x0000, 0x0000, 0x4def, 0x4df0, 0x4df2, 0x4df8, 0x0000, 0x4dfd, 0x0000, 0x4e03, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e07, 0x0000, 0x4e08, 0x0000, 0x4e16, + 0x0000, 0x0000, 0x4e17, 0x0000, 0x4e19, 0x0000, 0x4e1b, 0x0000, 0x0000, 0x0000, + 0x4e1e, 0x4e1f, 0x4e21, 0x0000, 0x4e23, 0x4e25, 0x0000, 0x4e2b, 0x4e2c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e2e, 0x0000, 0x4e34, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4e35, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e37, 0x4e38, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e39, 0x0000, 0x0000, 0x4e3b, 0x0000, + 0x0000, 0x4e3d, 0x0000, 0x0000, 0x4e40, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e4c, + 0x4e4d, 0x0000, 0x4e50, 0x4e51, 0x0000, 0x0000, 0x4e52, 0x0000, 0x4e54, 0x0000, + 0x0000, 0x4e56, 0x4e59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4e5b, 0x0000, 0x0000, 0x4e5d, 0x0000, 0x4e5e, 0x0000, 0x4e60, + 0x0000, 0x0000, 0x4e62, 0x0000, 0x0000, 0x4e63, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4e65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e66, 0x4e67, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4e68, 0x0000, 0x0000, 0x4e69, 0x4e6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4e6b, 0x0000, 0x4e6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e70, 0x0000, 0x4e71, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e7f, 0x0000, 0x4e82, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e8b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e90, 0x0000, 0x0000, 0x0000, 0x4e91, + 0x4e92, 0x0000, 0x0000, 0x0000, 0x4e93, 0x4e9b, 0x4e9c, 0x0000, 0x0000, 0x0000, + 0x4ea3, 0x4ea5, 0x4ea6, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ea8, 0x0000, 0x0000, + 0x4ea9, 0x4eaa, 0x4eb6, 0x0000, 0x4eb8, 0x0000, 0x0000, 0x0000, 0x4eb9, 0x0000, + 0x0000, 0x4eba, 0x0000, 0x0000, 0x0000, 0x4ebe, 0x0000, 0x4ec3, 0x0000, 0x0000, + 0x4ec4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ec6, 0x0000, + 0x4ec8, 0x0000, 0x4eca, 0x0000, 0x4ecf, 0x0000, 0x0000, 0x4ed2, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4eff, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f00, 0x0000, 0x4f02, + 0x0000, 0x0000, 0x4f06, 0x0000, 0x4f07, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f08, + 0x0000, 0x0000, 0x4f09, 0x4f0a, 0x0000, 0x4f14, 0x0000, 0x4f17, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4f19, 0x0000, 0x0000, 0x0000, 0x4f1a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4f1b, 0x0000, 0x4f1d, 0x0000, 0x4f1e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4f20, 0x0000, 0x0000, 0x4f28, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4f2a, 0x0000, 0x0000, 0x0000, 0x4f36, 0x0000, 0x0000, 0x4f37, 0x4f3a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4f3b, 0x0000, 0x4f3c, 0x0000, 0x4f3d, 0x0000, + 0x4f3f, 0x4f42, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f44, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4f45, 0x4f49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f4b, + 0x0000, 0x4f4c, 0x4f4f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f53, + 0x0000, 0x0000, 0x4f54, 0x0000, 0x4f55, 0x0000, 0x4f56, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4f58, 0x0000, 0x0000, 0x0000, 0x4f5a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4f5b, 0x4f5c, 0x0000, 0x4f62, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4f73, 0x0000, 0x0000, 0x0000, 0x4f76, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4f80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4f8a, 0x0000, 0x0000, 0x4f8d, 0x0000, 0x4f97, 0x4f99, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4f9a, 0x4f9b, 0x0000, 0x4f9c, 0x0000, 0x0000, 0x4f9d, 0x0000, 0x4f9e, 0x0000, + 0x4f9f, 0x0000, 0x4fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fa6, 0x4fa8, 0x4fa9, + 0x0000, 0x0000, 0x4fab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fac, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fae, 0x4fbf, 0x0000, + 0x0000, 0x0000, 0x4fc1, 0x0000, 0x0000, 0x4fc4, 0x0000, 0x0000, 0x4fca, 0x4fcc, + 0x0000, 0x4fcf, 0x0000, 0x0000, 0x4fd0, 0x0000, 0x4fd1, 0x4fd2, 0x4fd3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4fd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fda, + 0x0000, 0x4fdb, 0x0000, 0x4fde, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fe0, 0x0000, + 0x4fe3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4fe4, 0x4fe5, 0x0000, 0x0000, 0x4fe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4fe9, 0x0000, 0x4fea, 0x0000, 0x0000, 0x0000, 0x4ff1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4ff5, 0x0000, 0x0000, 0x0000, 0x4ff9, 0x0000, 0x4ffc, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ffd, 0x0000, + 0x0000, 0x5005, 0x0000, 0x0000, 0x5006, 0x0000, 0x0000, 0x5007, 0x0000, 0x5010, + 0x0000, 0x5011, 0x0000, 0x0000, 0x5012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5013, 0x5014, 0x0000, 0x5015, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5028, 0x502f, 0x0000, 0x5031, 0x0000, 0x0000, + 0x0000, 0x0000, 0x503b, 0x0000, 0x0000, 0x503c, 0x0000, 0x0000, 0x0000, 0x503f, + 0x0000, 0x0000, 0x0000, 0x5042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5044, + 0x0000, 0x0000, 0x5053, 0x0000, 0x0000, 0x5054, 0x0000, 0x5056, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x506d, 0x0000, 0x0000, 0x0000, 0x0000, 0x506e, 0x0000, + 0x0000, 0x5071, 0x5072, 0x0000, 0x0000, 0x0000, 0x0000, 0x5073, 0x0000, 0x5075, + 0x5076, 0x0000, 0x0000, 0x0000, 0x508a, 0x508c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x508d, 0x0000, 0x0000, 0x0000, 0x0000, 0x5093, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5094, 0x0000, 0x0000, 0x0000, 0x5095, 0x0000, 0x5096, 0x0000, 0x0000, + 0x509f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e3, 0x0000, 0x0000, 0x50e5, + 0x0000, 0x0000, 0x0000, 0x50e9, 0x50ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x50f4, 0x50f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x50f6, 0x50f8, 0x50f9, 0x0000, + 0x50fd, 0x0000, 0x50fe, 0x0000, 0x50ff, 0x5100, 0x0000, 0x5101, 0x0000, 0x0000, + 0x5108, 0x0000, 0x5109, 0x0000, 0x510c, 0x0000, 0x0000, 0x510d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x510e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5112, 0x0000, 0x0000, 0x0000, 0x5119, 0x0000, 0x0000, 0x511b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x511e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x511f, 0x0000, 0x0000, 0x0000, 0x0000, 0x5120, 0x0000, 0x5121, 0x5129, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5131, 0x0000, 0x0000, 0x0000, + 0x5132, 0x513b, 0x5141, 0x0000, 0x5142, 0x0000, 0x5147, 0x0000, 0x0000, 0x5148, + 0x0000, 0x0000, 0x514a, 0x0000, 0x0000, 0x514b, 0x0000, 0x514c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x514d, 0x0000, 0x0000, 0x5152, 0x5154, 0x5155, 0x0000, + 0x0000, 0x0000, 0x5156, 0x0000, 0x5157, 0x0000, 0x0000, 0x0000, 0x515a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x515d, 0x515e, 0x515f, 0x0000, + 0x5160, 0x5164, 0x0000, 0x0000, 0x5167, 0x0000, 0x0000, 0x5168, 0x516a, 0x0000, + 0x516b, 0x0000, 0x516c, 0x0000, 0x5176, 0x0000, 0x0000, 0x0000, 0x5177, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5178, 0x0000, 0x0000, 0x0000, 0x5185, 0x0000, 0x0000, + 0x5187, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5189, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x518c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5190, 0x0000, 0x0000, 0x5192, 0x0000, 0x0000, 0x0000, 0x0000, 0x5193, 0x5194, + 0x0000, 0x0000, 0x519a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x519b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a9, 0x0000, + 0x51aa, 0x51ae, 0x0000, 0x0000, 0x51b0, 0x51b3, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x51b4, 0x0000, 0x51b5, 0x0000, 0x51b7, 0x51b8, 0x51ba, 0x0000, 0x51bf, + 0x0000, 0x51c0, 0x51c1, 0x51c2, 0x0000, 0x0000, 0x51c7, 0x0000, 0x0000, 0x51cb, + 0x0000, 0x0000, 0x51cd, 0x0000, 0x0000, 0x0000, 0x51cf, 0x0000, 0x0000, 0x0000, + 0x51d2, 0x51d3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51d6, 0x0000, 0x51da, + 0x0000, 0x0000, 0x51db, 0x51e4, 0x0000, 0x0000, 0x51e7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x51ed, 0x51ef, 0x0000, 0x0000, 0x0000, 0x51f8, 0x0000, 0x51fb, + 0x51fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51fd, 0x0000, 0x0000, 0x0000, + 0x5203, 0x0000, 0x5206, 0x0000, 0x5207, 0x0000, 0x0000, 0x0000, 0x0000, 0x5208, + 0x5209, 0x0000, 0x0000, 0x0000, 0x0000, 0x5210, 0x0000, 0x5212, 0x0000, 0x5218, + 0x0000, 0x0000, 0x0000, 0x5219, 0x521a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x521d, 0x5222, 0x5223, 0x5224, 0x0000, 0x0000, 0x5225, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5226, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5227, 0x5228, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x522d, 0x0000, 0x0000, 0x522e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x522f, 0x0000, 0x5231, 0x0000, + 0x5236, 0x5237, 0x0000, 0x0000, 0x0000, 0x5239, 0x523d, 0x0000, 0x0000, 0x5241, + 0x5248, 0x5249, 0x0000, 0x0000, 0x524a, 0x524b, 0x0000, 0x0000, 0x0000, 0x524d, + 0x0000, 0x0000, 0x0000, 0x524f, 0x5250, 0x0000, 0x0000, 0x5251, 0x0000, 0x5252, + 0x0000, 0x0000, 0x5256, 0x0000, 0x0000, 0x0000, 0x0000, 0x5257, 0x0000, 0x0000, + 0x5258, 0x5259, 0x0000, 0x0000, 0x525e, 0x525f, 0x0000, 0x5261, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5263, 0x0000, 0x5265, 0x0000, 0x5266, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5267, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5268, 0x0000, 0x526a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x526b, 0x0000, 0x0000, 0x526c, 0x526d, 0x526e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x526f, 0x0000, 0x5270, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5271, 0x5274, 0x5275, 0x0000, 0x0000, 0x5278, 0x5279, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x527b, 0x5282, 0x5283, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5285, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5289, 0x528b, 0x0000, 0x0000, 0x528e, 0x0000, 0x0000, + 0x0000, 0x5291, 0x5296, 0x0000, 0x5297, 0x0000, 0x0000, 0x5298, 0x0000, 0x5299, + 0x529a, 0x0000, 0x52a0, 0x52a2, 0x52a3, 0x52a4, 0x0000, 0x0000, 0x0000, 0x52a8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52a9, 0x0000, 0x52ac, 0x0000, + 0x52ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x52b2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x52b3, 0x0000, 0x0000, 0x52b4, 0x0000, 0x52b6, 0x0000, 0x52b7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x52b8, 0x52bb, 0x52c4, 0x0000, 0x0000, 0x0000, 0x52c5, + 0x0000, 0x0000, 0x52c6, 0x0000, 0x0000, 0x0000, 0x52c8, 0x0000, 0x0000, 0x52c9, + 0x0000, 0x0000, 0x0000, 0x52ce, 0x0000, 0x52dc, 0x0000, 0x0000, 0x52dd, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52df, 0x52e0, 0x0000, 0x0000, 0x52e7, + 0x52e9, 0x0000, 0x52ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x52eb, 0x52ec, 0x0000, + 0x0000, 0x52ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x52ee, 0x52f4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x52f5, 0x0000, 0x0000, 0x52f6, 0x52f7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5308, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5309, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x530b, 0x0000, 0x0000, 0x0000, 0x530f, 0x0000, + 0x5318, 0x0000, 0x531a, 0x0000, 0x5322, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5323, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x532e, 0x0000, 0x0000, 0x5331, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5332, 0x0000, 0x0000, 0x0000, 0x5333, 0x0000, 0x5334, 0x5336, 0x0000, 0x5344, + 0x0000, 0x5346, 0x534a, 0x534b, 0x0000, 0x534c, 0x0000, 0x534e, 0x0000, 0x0000, + 0x0000, 0x534f, 0x5350, 0x0000, 0x0000, 0x0000, 0x5368, 0x0000, 0x0000, 0x536a, + 0x5371, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5372, 0x0000, 0x0000, 0x0000, 0x5373, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5376, 0x0000, + 0x0000, 0x5377, 0x537c, 0x537e, 0x0000, 0x0000, 0x0000, 0x537f, 0x5381, 0x0000, + 0x5382, 0x0000, 0x0000, 0x0000, 0x5384, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5385, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5386, 0x0000, 0x5387, 0x0000, 0x0000, 0x5388, 0x0000, 0x0000, + 0x5389, 0x0000, 0x0000, 0x0000, 0x0000, 0x538d, 0x538e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5395, 0x5396, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5397, 0x0000, 0x5398, 0x0000, 0x0000, 0x0000, 0x0000, 0x539a, + 0x0000, 0x0000, 0x0000, 0x539b, 0x539c, 0x0000, 0x539d, 0x539e, 0x0000, 0x0000, + 0x0000, 0x539f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x53a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a1, + 0x0000, 0x53ad, 0x0000, 0x53ae, 0x0000, 0x0000, 0x0000, 0x53b1, 0x53b4, 0x0000, + 0x0000, 0x0000, 0x0000, 0x53b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53b9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x53ba, 0x0000, 0x53c3, 0x0000, 0x53c4, 0x53c9, 0x0000, 0x53cc, 0x0000, 0x53cd, + 0x53ce, 0x0000, 0x0000, 0x0000, 0x53d1, 0x0000, 0x0000, 0x53d2, 0x0000, 0x0000, + 0x0000, 0x53d4, 0x53d5, 0x0000, 0x0000, 0x53d8, 0x0000, 0x0000, 0x0000, 0x53e1, + 0x53e6, 0x0000, 0x0000, 0x53e7, 0x0000, 0x0000, 0x53e9, 0x53eb, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53ec, 0x0000, 0x0000, 0x53ed, + 0x53ee, 0x0000, 0x0000, 0x53f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5413, 0x0000, 0x0000, 0x5415, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5416, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5419, 0x541a, + 0x0000, 0x0000, 0x541b, 0x0000, 0x0000, 0x541d, 0x0000, 0x0000, 0x5423, 0x543c, + 0x0000, 0x543f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5447, 0x0000, 0x0000, 0x0000, 0x0000, 0x5449, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5457, 0x0000, 0x0000, 0x5464, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5465, 0x0000, 0x5466, 0x0000, 0x0000, 0x5471, + 0x5472, 0x5473, 0x5474, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5477, 0x0000, 0x0000, 0x0000, + 0x0000, 0x547f, 0x0000, 0x5483, 0x0000, 0x0000, 0x0000, 0x0000, 0x5487, 0x548e, + 0x5495, 0x549e, 0x0000, 0x0000, 0x549f, 0x54a0, 0x0000, 0x54a2, 0x0000, 0x0000, + 0x54a3, 0x0000, 0x54a6, 0x54a8, 0x54a9, 0x0000, 0x54aa, 0x54b3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x54b4, 0x0000, 0x54be, 0x0000, 0x0000, 0x0000, 0x0000, + 0x54bf, 0x54c4, 0x0000, 0x54c7, 0x0000, 0x54c8, 0x0000, 0x0000, 0x54cd, 0x0000, + 0x0000, 0x0000, 0x54ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x54cf, 0x0000, 0x0000, 0x0000, 0x54d0, 0x0000, 0x54d5, 0x0000, 0x54e2, + 0x0000, 0x0000, 0x0000, 0x54e3, 0x54e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x54e9, + 0x54ed, 0x54ee, 0x0000, 0x54f3, 0x0000, 0x0000, 0x0000, 0x54f5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x54f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x54f8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x54f9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x54fb, + 0x54fc, 0x0000, 0x54fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5500, + 0x0000, 0x0000, 0x5503, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5504, 0x0000, 0x0000, 0x5506, 0x0000, 0x0000, 0x5507, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x550d, 0x0000, + 0x550e, 0x0000, 0x0000, 0x550f, 0x0000, 0x0000, 0x0000, 0x0000, 0x5510, 0x0000, + 0x0000, 0x5511, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5514, 0x551b, 0x551c, 0x551f, 0x0000, 0x0000, 0x0000, 0x5525, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x552d, 0x0000, 0x0000, 0x0000, 0x0000, 0x552e, + 0x0000, 0x552f, 0x5531, 0x0000, 0x5532, 0x5533, 0x0000, 0x5539, 0x553b, 0x553c, + 0x0000, 0x553f, 0x0000, 0x5540, 0x0000, 0x0000, 0x5541, 0x0000, 0x0000, 0x5542, + 0x5548, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5549, 0x5558, 0x5559, 0x0000, + 0x0000, 0x556b, 0x556e, 0x556f, 0x5571, 0x0000, 0x0000, 0x0000, 0x5572, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5573, 0x0000, + 0x5576, 0x0000, 0x0000, 0x0000, 0x5577, 0x0000, 0x5579, 0x557e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x557f, 0x0000, 0x0000, 0x5580, 0x5586, 0x5587, 0x5589, 0x0000, + 0x558d, 0x0000, 0x5590, 0x0000, 0x0000, 0x5592, 0x0000, 0x0000, 0x0000, 0x5595, + 0x5596, 0x5597, 0x0000, 0x0000, 0x5598, 0x0000, 0x0000, 0x5599, 0x559a, 0x559b, + 0x0000, 0x559f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55a1, + 0x0000, 0x0000, 0x55a2, 0x55ad, 0x55b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55b8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x55b9, 0x0000, 0x55bb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55bd, 0x0000, 0x0000, 0x0000, 0x55be, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x55bf, 0x0000, 0x55c0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55c2, 0x55c5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x55c6, 0x0000, 0x55c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x55ca, 0x55cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x55cc, 0x55cd, 0x0000, 0x0000, 0x55d1, 0x55d2, 0x0000, 0x0000, 0x0000, 0x55d6, + 0x0000, 0x0000, 0x55dc, 0x55dd, 0x0000, 0x55de, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x55e1, 0x0000, 0x55e4, 0x0000, 0x55e8, 0x0000, 0x55ef, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x55f1, 0x0000, 0x55f2, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x55f3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55f4, + 0x0000, 0x0000, 0x0000, 0x55f8, 0x0000, 0x55f9, 0x55ff, 0x0000, 0x0000, 0x5600, + 0x0000, 0x0000, 0x0000, 0x5601, 0x5603, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5604, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5605, 0x5615, 0x0000, 0x5617, 0x0000, + 0x0000, 0x0000, 0x5618, 0x0000, 0x0000, 0x0000, 0x5620, 0x5621, 0x0000, 0x0000, + 0x5625, 0x5627, 0x5628, 0x562b, 0x0000, 0x0000, 0x562c, 0x562d, 0x0000, 0x0000, + 0x5630, 0x0000, 0x0000, 0x0000, 0x0000, 0x5632, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5639, 0x0000, 0x0000, 0x0000, 0x563a, 0x563b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x563c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x563d, 0x5644, 0x5653, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5658, 0x0000, 0x0000, 0x565b, 0x0000, 0x565c, 0x0000, 0x565d, 0x0000, + 0x565e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x565f, 0x5667, + 0x0000, 0x5668, 0x566a, 0x0000, 0x0000, 0x0000, 0x0000, 0x566d, 0x0000, 0x0000, + 0x0000, 0x5670, 0x5671, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x567d, + 0x0000, 0x0000, 0x0000, 0x567e, 0x0000, 0x0000, 0x5680, 0x5682, 0x0000, 0x5684, + 0x5685, 0x5687, 0x568a, 0x0000, 0x0000, 0x0000, 0x5692, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5694, 0x56a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x56a3, 0x0000, 0x56a6, + 0x56a7, 0x0000, 0x0000, 0x56a8, 0x56ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x56ae, 0x0000, 0x56b2, 0x56b9, 0x0000, 0x0000, 0x56c0, + 0x0000, 0x56c1, 0x0000, 0x56c4, 0x0000, 0x0000, 0x56c7, 0x0000, 0x56cf, 0x56d7, + 0x0000, 0x0000, 0x56d8, 0x0000, 0x56da, 0x0000, 0x0000, 0x56db, 0x56dc, 0x0000, + 0x56dd, 0x0000, 0x56e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56e1, 0x0000, + 0x0000, 0x0000, 0x56e2, 0x56e6, 0x56e7, 0x0000, 0x0000, 0x0000, 0x56f3, 0x56fc, + 0x0000, 0x56fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56fe, + 0x0000, 0x0000, 0x0000, 0x0000, 0x56ff, 0x0000, 0x5700, 0x0000, 0x5705, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5706, 0x5708, 0x570b, 0x570e, 0x0000, 0x0000, + 0x570f, 0x5711, 0x0000, 0x0000, 0x5712, 0x0000, 0x5715, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5717, 0x0000, 0x571d, + 0x571e, 0x0000, 0x0000, 0x0000, 0x5721, 0x0000, 0x5724, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x572b, 0x0000, 0x0000, + 0x0000, 0x572d, 0x0000, 0x573e, 0x0000, 0x0000, 0x0000, 0x573f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5740, 0x0000, 0x5742, 0x5748, 0x0000, 0x574b, 0x574d, + 0x0000, 0x574e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5755, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5756, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5757, 0x5758, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5759, 0x575e, 0x0000, 0x0000, + 0x5761, 0x0000, 0x5762, 0x5765, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5767, + 0x0000, 0x5769, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x576a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x576d, 0x0000, 0x0000, 0x0000, 0x0000, 0x576e, 0x0000, 0x576f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5777, + 0x0000, 0x0000, 0x5778, 0x577b, 0x577c, 0x5782, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5785, + 0x0000, 0x0000, 0x5786, 0x0000, 0x0000, 0x5788, 0x0000, 0x0000, 0x5789, 0x578a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5798, 0x0000, 0x0000, 0x0000, + 0x0000, 0x579a, 0x0000, 0x0000, 0x0000, 0x579b, 0x0000, 0x579c, 0x0000, 0x57a0, + 0x0000, 0x57a3, 0x57aa, 0x57ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x57ac, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x57ae, 0x0000, 0x57b6, 0x0000, 0x57b7, 0x0000, + 0x0000, 0x0000, 0x57c1, 0x0000, 0x57c6, 0x0000, 0x57c7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x57c8, 0x57c9, 0x0000, 0x57d7, 0x0000, 0x0000, 0x0000, 0x57d8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x57d9, 0x0000, 0x0000, 0x57e3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x57f2, 0x0000, 0x0000, 0x57f3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x57f4, 0x0000, 0x0000, 0x0000, 0x57f5, 0x57f8, + 0x0000, 0x0000, 0x0000, 0x5806, 0x0000, 0x0000, 0x5807, 0x0000, 0x0000, 0x5808, + 0x0000, 0x580c, 0x5819, 0x0000, 0x581b, 0x0000, 0x0000, 0x0000, 0x0000, 0x5821, + 0x0000, 0x0000, 0x5822, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5826, 0x0000, 0x0000, 0x0000, 0x0000, 0x5827, + 0x5828, 0x0000, 0x0000, 0x582f, 0x0000, 0x5833, 0x0000, 0x5836, 0x5837, 0x5839, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x583a, 0x0000, 0x0000, 0x583b, 0x0000, + 0x0000, 0x583e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x583f, 0x0000, 0x5840, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5841, 0x0000, 0x584a, 0x0000, 0x0000, + 0x584c, 0x0000, 0x0000, 0x5851, 0x0000, 0x0000, 0x585a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x585b, 0x0000, 0x5860, 0x5861, 0x0000, 0x0000, 0x586e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x586f, 0x0000, 0x0000, 0x5870, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5874, 0x0000, 0x5875, 0x5877, + 0x0000, 0x0000, 0x0000, 0x0000, 0x587c, 0x587d, 0x0000, 0x0000, 0x0000, 0x587e, + 0x0000, 0x587f, 0x0000, 0x0000, 0x0000, 0x5880, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5891, 0x5893, 0x5894, 0x0000, + 0x0000, 0x5896, 0x5897, 0x0000, 0x58a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x58a5, 0x0000, 0x0000, 0x58a8, 0x0000, 0x58ab, 0x58b3, 0x58b4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58be, 0x0000, + 0x58bf, 0x0000, 0x0000, 0x0000, 0x0000, 0x58c3, 0x0000, 0x0000, 0x0000, 0x58c4, + 0x58c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58c6, 0x58c8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58c9, 0x0000, 0x0000, 0x58cb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x58cc, 0x58cf, 0x58d0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x58d3, 0x0000, 0x58dd, 0x0000, 0x0000, 0x58df, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x58e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58ec, + 0x58ed, 0x58ee, 0x0000, 0x58f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58f1, + 0x58f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58f3, 0x0000, 0x0000, + 0x58f4, 0x58f7, 0x0000, 0x58f8, 0x58f9, 0x58fc, 0x0000, 0x0000, 0x58fe, 0x5900, + 0x0000, 0x5903, 0x0000, 0x5905, 0x590c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x590e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5912, 0x0000, 0x5913, + 0x5914, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5915, 0x0000, 0x0000, 0x591a, 0x591b, 0x591e, 0x5920, 0x0000, 0x5929, + 0x592a, 0x0000, 0x592f, 0x5931, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5932, 0x0000, 0x5934, 0x5936, 0x0000, 0x5937, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5938, 0x0000, 0x593f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5948, 0x5949, 0x0000, 0x594a, 0x594b, 0x0000, 0x0000, 0x594e, + 0x0000, 0x0000, 0x5950, 0x0000, 0x0000, 0x0000, 0x0000, 0x5951, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5952, + 0x0000, 0x5953, 0x5954, 0x0000, 0x0000, 0x0000, 0x0000, 0x5955, 0x0000, 0x5957, + 0x0000, 0x5958, 0x0000, 0x5959, 0x5961, 0x5962, 0x5964, 0x5965, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5966, 0x5967, 0x0000, 0x596e, 0x0000, + 0x596f, 0x0000, 0x0000, 0x0000, 0x5974, 0x0000, 0x5975, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5978, 0x0000, 0x0000, 0x0000, 0x0000, 0x5979, 0x597b, 0x0000, 0x0000, + 0x0000, 0x5983, 0x5985, 0x0000, 0x0000, 0x5986, 0x0000, 0x0000, 0x0000, 0x5988, + 0x0000, 0x0000, 0x0000, 0x5991, 0x5992, 0x0000, 0x0000, 0x0000, 0x599d, 0x599e, + 0x0000, 0x0000, 0x0000, 0x599f, 0x0000, 0x0000, 0x0000, 0x59a0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59a2, 0x0000, 0x59a3, 0x0000, 0x0000, + 0x59aa, 0x0000, 0x59ac, 0x0000, 0x0000, 0x59b2, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x59b3, 0x0000, 0x0000, 0x59b4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x59b5, 0x0000, 0x59b8, 0x0000, 0x0000, 0x0000, + 0x59b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59ba, 0x0000, 0x59bb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x59c2, 0x0000, 0x0000, 0x59c3, 0x0000, 0x59cb, + 0x0000, 0x0000, 0x59cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59ce, + 0x0000, 0x59dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59de, + 0x59df, 0x59e0, 0x0000, 0x0000, 0x59ef, 0x59f0, 0x59f5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x59f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59f8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x59fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x59fe, 0x0000, + 0x0000, 0x0000, 0x5a08, 0x0000, 0x5a09, 0x5a0c, 0x5a0d, 0x5a14, 0x5a15, 0x0000, + 0x5a17, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a1b, 0x5a1c, 0x0000, 0x0000, 0x0000, + 0x5a1d, 0x5a21, 0x0000, 0x0000, 0x0000, 0x5a57, 0x0000, 0x5a58, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5a59, 0x0000, 0x5a62, 0x5a65, 0x0000, 0x5a6d, 0x0000, + 0x0000, 0x5a6e, 0x0000, 0x0000, 0x0000, 0x5a70, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5a72, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a75, + 0x5a77, 0x5a78, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5a8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a8d, + 0x0000, 0x0000, 0x5a94, 0x0000, 0x5a95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a9b, 0x0000, 0x0000, + 0x5a9c, 0x5a9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5aa2, 0x0000, 0x5aa4, 0x0000, 0x5aa7, 0x0000, 0x5aa9, 0x5aaa, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5abb, 0x5abd, 0x0000, 0x0000, 0x5abe, + 0x5ac2, 0x5ac6, 0x0000, 0x0000, 0x0000, 0x5acd, 0x5ace, 0x5ad0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5ad1, 0x5ad6, 0x0000, 0x0000, 0x0000, 0x5ae1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ae4, 0x0000, 0x5aec, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5aed, 0x0000, 0x5b01, 0x0000, 0x5b02, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5b03, 0x0000, 0x5b06, 0x0000, 0x0000, 0x5b07, 0x5b10, 0x0000, 0x0000, + 0x5b12, 0x0000, 0x5b18, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b1c, 0x0000, 0x5b1d, + 0x0000, 0x5b20, 0x0000, 0x5b26, 0x0000, 0x0000, 0x0000, 0x5b29, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5b2f, 0x5b30, 0x5b32, 0x0000, 0x5b34, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b39, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5b3b, 0x0000, 0x5b3c, 0x5b3e, 0x0000, 0x0000, 0x0000, 0x5b3f, 0x5b40, 0x0000, + 0x5b41, 0x0000, 0x5b47, 0x0000, 0x5b49, 0x0000, 0x0000, 0x5b4d, 0x0000, 0x5b52, + 0x5b53, 0x0000, 0x5b56, 0x5b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b5b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b5c, 0x5b5e, 0x0000, 0x0000, 0x5b61, + 0x5b66, 0x0000, 0x0000, 0x0000, 0x5b67, 0x0000, 0x0000, 0x0000, 0x5b68, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5b69, 0x0000, 0x0000, 0x0000, 0x5b77, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b78, 0x0000, 0x5b7e, 0x0000, + 0x5b93, 0x5b94, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b98, 0x0000, 0x5b9e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ba0, 0x0000, 0x0000, 0x5ba2, 0x5ba8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ba9, 0x0000, 0x0000, 0x0000, + 0x5bae, 0x5baf, 0x0000, 0x0000, 0x5bb0, 0x0000, 0x0000, 0x0000, 0x5bb1, 0x5bc8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc9, 0x0000, + 0x5bcb, 0x0000, 0x0000, 0x5bce, 0x0000, 0x0000, 0x5bcf, 0x0000, 0x0000, 0x5bd9, + 0x0000, 0x0000, 0x5bdb, 0x0000, 0x0000, 0x0000, 0x5bdd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5bde, 0x5bdf, 0x5be1, 0x5be4, 0x0000, 0x5be5, 0x5be8, 0x5bf3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5bf5, 0x0000, 0x0000, 0x5bf8, 0x0000, 0x0000, + 0x5c04, 0x0000, 0x0000, 0x5c05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c07, 0x0000, 0x5c08, + 0x0000, 0x0000, 0x5c09, 0x0000, 0x0000, 0x5c0e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5c10, 0x5c11, 0x5c12, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c13, 0x0000, + 0x5c16, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5c17, 0x0000, 0x5c1b, 0x0000, 0x0000, 0x5c1d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5c23, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5c2c, 0x5c2e, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c32, 0x5c36, + 0x0000, 0x0000, 0x5c37, 0x0000, 0x5c38, 0x0000, 0x0000, 0x0000, 0x5c3e, 0x5c40, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c42, 0x0000, 0x0000, 0x5c43, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5c45, 0x5c4a, 0x0000, 0x5c4b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5c4d, 0x0000, 0x5c4e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5c52, 0x0000, 0x5c54, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5c56, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c58, 0x5c73, 0x0000, 0x5c75, 0x0000, + 0x0000, 0x0000, 0x5c81, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5c82, 0x0000, 0x5c83, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c84, 0x0000, + 0x0000, 0x0000, 0x5c85, 0x5c89, 0x0000, 0x5c8d, 0x5c8e, 0x5c94, 0x0000, 0x5c96, + 0x0000, 0x5c9d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca0, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca2, 0x0000, 0x0000, 0x5ca3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5ca6, 0x0000, 0x0000, 0x5ca8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5caa, 0x0000, 0x0000, 0x0000, 0x5cae, 0x5cb1, 0x0000, 0x5cbd, 0x5cc2, + 0x0000, 0x5cc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5cc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc7, 0x0000, 0x5cc9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5ccd, 0x5cd5, 0x0000, 0x0000, 0x0000, 0x5cda, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cdb, 0x0000, 0x5cdc, + 0x5ce5, 0x0000, 0x0000, 0x5cf4, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cf6, 0x0000, + 0x5cf7, 0x0000, 0x0000, 0x0000, 0x5cfa, 0x0000, 0x0000, 0x5cfe, 0x0000, 0x5cff, + 0x0000, 0x0000, 0x5d00, 0x0000, 0x5d01, 0x0000, 0x5d0b, 0x0000, 0x0000, 0x0000, + 0x5d0d, 0x0000, 0x5d13, 0x0000, 0x0000, 0x0000, 0x5d15, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5d16, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5d18, 0x5d19, 0x5d1a, 0x5d1b, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d1d, + 0x5d1e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d26, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5d27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d47, + 0x5d49, 0x0000, 0x0000, 0x5d4a, 0x5d4b, 0x5d57, 0x0000, 0x5d5b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5d5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d5e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d5f, 0x5d61, 0x0000, 0x5d62, 0x0000, + 0x5d63, 0x5d6e, 0x5d6f, 0x5d70, 0x0000, 0x5d72, 0x0000, 0x5d74, 0x0000, 0x5d77, + 0x0000, 0x5d7e, 0x0000, 0x5d81, 0x5d85, 0x0000, 0x5d86, 0x5d8a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5d93, 0x5d94, 0x5d96, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5d97, 0x0000, 0x5d9a, 0x5d9d, 0x0000, 0x5d9e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5d9f, 0x5da0, 0x0000, 0x0000, 0x5da5, 0x0000, 0x0000, 0x5da6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5da7, 0x0000, 0x5da8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5da9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5dac, + 0x0000, 0x0000, 0x5db0, 0x0000, 0x5db1, 0x0000, 0x0000, 0x5db3, 0x0000, 0x0000, + 0x5db4, 0x5db6, 0x5db7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5db8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5dba, 0x0000, + 0x0000, 0x0000, 0x5dbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5dbf, 0x0000, 0x0000, 0x5dc3, 0x0000, 0x5dc4, 0x0000, 0x5dc6, + 0x0000, 0x0000, 0x0000, 0x5dc7, 0x0000, 0x0000, 0x5dc8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5dc9, 0x0000, 0x0000, 0x5dca, 0x0000, 0x0000, + 0x5dcb, 0x0000, 0x0000, 0x5dcd, 0x5dce, 0x0000, 0x0000, 0x5dcf, 0x5dd0, 0x5ddb, + 0x0000, 0x5ddc, 0x5ddd, 0x0000, 0x5dde, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5de1, 0x5de2, 0x0000, 0x5de3, 0x0000, 0x0000, 0x5de4, 0x0000, 0x0000, 0x5dec, + 0x0000, 0x5df0, 0x5df1, 0x5dff, 0x5e03, 0x0000, 0x5e04, 0x5e06, 0x0000, 0x0000, + 0x5e07, 0x5e0e, 0x5e17, 0x0000, 0x5e1a, 0x0000, 0x0000, 0x0000, 0x5e1f, 0x0000, + 0x5e22, 0x5e25, 0x5e28, 0x5e2a, 0x0000, 0x5e2b, 0x0000, 0x0000, 0x0000, 0x5e2c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5e2e, 0x5e2f, 0x0000, 0x5e31, 0x0000, 0x0000, + 0x5e33, 0x5e38, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e3c, 0x0000, + 0x5e3d, 0x0000, 0x5e3e, 0x0000, 0x5e3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5e47, 0x0000, 0x0000, 0x5e48, 0x0000, 0x5e49, 0x5e4e, 0x0000, 0x0000, 0x0000, + 0x5e52, 0x0000, 0x0000, 0x5e53, 0x5e55, 0x5e5a, 0x0000, 0x5e63, 0x0000, 0x0000, + 0x0000, 0x5e65, 0x5e66, 0x5e67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5e69, 0x5e6a, 0x5e6f, 0x0000, 0x0000, 0x0000, + 0x5e72, 0x0000, 0x0000, 0x5e73, 0x0000, 0x0000, 0x5e75, 0x0000, 0x5e78, 0x5e85, + 0x0000, 0x5e89, 0x5e8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e8e, + 0x5e94, 0x5e9c, 0x0000, 0x0000, 0x0000, 0x5ea0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5ea2, 0x0000, 0x5eaa, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5eab, 0x0000, 0x5eac, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5eaf, 0x5eb0, 0x5eb1, 0x0000, 0x0000, 0x5eb8, 0x0000, 0x0000, 0x5eb9, + 0x0000, 0x5ebb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ebd, 0x0000, + 0x5ecc, 0x0000, 0x0000, 0x0000, 0x5ecd, 0x0000, 0x5ecf, 0x5ed0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5ed1, 0x0000, 0x0000, 0x5ed2, 0x0000, 0x0000, 0x5ed7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ed8, 0x0000, 0x5ee5, 0x5ee6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ee8, 0x0000, 0x0000, 0x5f03, + 0x0000, 0x0000, 0x0000, 0x5f09, 0x5f0a, 0x5f0b, 0x5f13, 0x0000, 0x5f1f, 0x0000, + 0x0000, 0x5f31, 0x5f32, 0x0000, 0x0000, 0x0000, 0x5f33, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5f34, 0x5f35, 0x5f36, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f3a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5f3b, 0x0000, 0x5f3d, 0x0000, 0x5f3f, 0x5f45, + 0x0000, 0x5f46, 0x0000, 0x0000, 0x5f4a, 0x5f4b, 0x5f50, 0x0000, 0x0000, 0x0000, + 0x5f51, 0x5f52, 0x0000, 0x5f56, 0x0000, 0x0000, 0x0000, 0x5f5b, 0x0000, 0x0000, + 0x0000, 0x5f5f, 0x0000, 0x5f60, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f61, + 0x0000, 0x5f63, 0x0000, 0x5f66, 0x0000, 0x5f67, 0x5f6c, 0x0000, 0x5f73, 0x0000, + 0x0000, 0x0000, 0x5f77, 0x0000, 0x0000, 0x0000, 0x5f78, 0x5f7a, 0x5f7e, 0x0000, + 0x0000, 0x0000, 0x5f7f, 0x5f80, 0x5f81, 0x5f84, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5f85, 0x5f89, 0x0000, 0x0000, 0x5f8a, 0x5f8b, 0x5f8c, 0x0000, 0x5f91, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f96, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f97, 0x0000, 0x5f99, 0x5f9a, 0x5f9b, + 0x5f9c, 0x0000, 0x5f9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa2, + 0x5fa5, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa6, 0x0000, 0x0000, 0x0000, 0x5fa8, + 0x0000, 0x0000, 0x0000, 0x5fae, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fb1, 0x0000, + 0x0000, 0x5fb2, 0x0000, 0x0000, 0x0000, 0x5fb3, 0x5fba, 0x0000, 0x0000, 0x0000, + 0x5fbb, 0x0000, 0x0000, 0x5fbf, 0x0000, 0x0000, 0x5fc1, 0x5fc2, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5fc5, 0x0000, 0x5fc6, 0x0000, 0x5fc8, 0x0000, 0x5fc9, + 0x5fcc, 0x5fcd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fcf, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5fd0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fd9, + 0x5fdb, 0x0000, 0x5fdc, 0x0000, 0x0000, 0x0000, 0x5fe4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x5fe5, 0x5fe6, 0x0000, 0x0000, 0x0000, 0x5fe9, 0x5fea, 0x0000, + 0x5feb, 0x0000, 0x5fec, 0x0000, 0x5fee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5ff0, 0x0000, 0x0000, 0x0000, 0x5ff1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5ff2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5ff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x5ff9, 0x0000, 0x0000, 0x0000, 0x5ffe, 0x0000, 0x5fff, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6001, 0x6005, + 0x0000, 0x6008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6009, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x600a, 0x0000, 0x0000, 0x600b, 0x0000, 0x600c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x600e, + 0x600f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6010, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6014, 0x6015, 0x0000, 0x0000, 0x0000, 0x0000, 0x601a, 0x601b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x601c, 0x0000, 0x0000, 0x601d, 0x0000, 0x6022, 0x0000, + 0x0000, 0x6023, 0x0000, 0x0000, 0x0000, 0x0000, 0x6024, 0x6027, 0x6028, 0x6030, + 0x0000, 0x0000, 0x0000, 0x6033, 0x0000, 0x603e, 0x603f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6040, 0x0000, 0x0000, 0x0000, 0x604f, 0x6050, 0x6051, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6056, 0x0000, 0x6057, 0x6058, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6059, 0x0000, 0x0000, 0x0000, 0x0000, + 0x605b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x605c, 0x605d, 0x0000, + 0x605e, 0x6062, 0x0000, 0x0000, 0x0000, 0x6063, 0x0000, 0x6066, 0x0000, 0x0000, + 0x6067, 0x0000, 0x0000, 0x0000, 0x6069, 0x0000, 0x606b, 0x0000, 0x0000, 0x0000, + 0x0000, 0x606c, 0x0000, 0x606d, 0x0000, 0x0000, 0x606e, 0x0000, 0x0000, 0x6070, + 0x6071, 0x0000, 0x0000, 0x0000, 0x0000, 0x6072, 0x6073, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6079, 0x0000, 0x607a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6085, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6086, 0x0000, 0x6088, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6089, 0x608a, 0x0000, 0x608b, 0x0000, 0x608c, 0x608e, 0x0000, 0x608f, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6090, 0x0000, 0x0000, 0x6095, 0x0000, 0x0000, 0x60a2, + 0x0000, 0x60ad, 0x60ae, 0x0000, 0x0000, 0x0000, 0x60b0, 0x0000, 0x0000, 0x0000, + 0x60b1, 0x0000, 0x0000, 0x0000, 0x60b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x60ba, 0x0000, 0x60bb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x60bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x60bd, 0x60bf, 0x60c0, 0x0000, + 0x60c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x60c5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x60c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x60d1, 0x0000, 0x60d2, 0x60d4, + 0x0000, 0x0000, 0x0000, 0x60d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x60da, 0x60de, + 0x0000, 0x60df, 0x60e0, 0x0000, 0x0000, 0x0000, 0x60e3, 0x0000, 0x60e4, 0x60e6, + 0x0000, 0x60e7, 0x0000, 0x0000, 0x0000, 0x60ea, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x60fb, 0x60fc, 0x0000, 0x6103, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6107, 0x0000, + 0x610b, 0x610c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x610f, 0x0000, 0x0000, 0x6110, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6111, 0x0000, 0x6112, 0x6113, 0x0000, 0x0000, 0x0000, 0x6114, + 0x0000, 0x6115, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6116, 0x0000, 0x6117, 0x0000, 0x0000, 0x6124, 0x0000, 0x0000, 0x0000, + 0x6133, 0x0000, 0x0000, 0x0000, 0x6134, 0x0000, 0x613f, 0x6141, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6143, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6144, + 0x0000, 0x6151, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6152, 0x0000, + 0x0000, 0x6155, 0x6162, 0x6163, 0x0000, 0x0000, 0x0000, 0x6164, 0x0000, 0x0000, + 0x616b, 0x0000, 0x0000, 0x616e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6171, 0x6176, 0x0000, 0x6177, 0x0000, 0x0000, 0x6179, + 0x0000, 0x0000, 0x0000, 0x617a, 0x0000, 0x617f, 0x0000, 0x0000, 0x0000, 0x6181, + 0x0000, 0x0000, 0x6182, 0x0000, 0x6184, 0x6188, 0x618a, 0x618c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6190, 0x0000, 0x0000, 0x0000, 0x6191, 0x0000, 0x6196, + 0x0000, 0x0000, 0x6197, 0x0000, 0x0000, 0x6198, 0x0000, 0x0000, 0x0000, 0x61a1, + 0x0000, 0x0000, 0x0000, 0x61a2, 0x0000, 0x0000, 0x61a9, 0x0000, 0x0000, 0x0000, + 0x61ab, 0x0000, 0x0000, 0x61ba, 0x0000, 0x0000, 0x61bf, 0x0000, 0x0000, 0x0000, + 0x61ca, 0x0000, 0x0000, 0x61cb, 0x61cc, 0x0000, 0x61cd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x61cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x61d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61d2, 0x0000, + 0x0000, 0x61d3, 0x61d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61d9, + 0x0000, 0x0000, 0x61db, 0x0000, 0x61dc, 0x61dd, 0x0000, 0x0000, 0x61de, 0x0000, + 0x0000, 0x0000, 0x61df, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e1, 0x61e3, 0x0000, + 0x0000, 0x61e4, 0x61e8, 0x0000, 0x61e9, 0x61ed, 0x61ee, 0x0000, 0x0000, 0x0000, + 0x0000, 0x61f0, 0x0000, 0x61f1, 0x0000, 0x6202, 0x0000, 0x0000, 0x6204, 0x6205, + 0x620d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6211, 0x6214, 0x0000, + 0x0000, 0x6219, 0x0000, 0x0000, 0x621b, 0x621c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x621d, 0x0000, 0x0000, 0x0000, 0x6220, 0x6221, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6225, 0x0000, 0x0000, 0x0000, 0x6226, + 0x0000, 0x622a, 0x622e, 0x0000, 0x6233, 0x0000, 0x6237, 0x0000, 0x0000, 0x0000, + 0x623f, 0x0000, 0x6249, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x624b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6256, 0x0000, 0x6257, 0x0000, 0x6277, 0x0000, 0x0000, 0x0000, 0x6279, 0x0000, + 0x0000, 0x0000, 0x0000, 0x627d, 0x0000, 0x6283, 0x0000, 0x6287, 0x0000, 0x6289, + 0x0000, 0x0000, 0x0000, 0x628b, 0x0000, 0x0000, 0x0000, 0x628c, 0x0000, 0x0000, + 0x0000, 0x628d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x628f, + 0x6291, 0x0000, 0x0000, 0x0000, 0x0000, 0x6295, 0x6297, 0x0000, 0x0000, 0x0000, + 0x629b, 0x0000, 0x0000, 0x0000, 0x62a4, 0x0000, 0x62a9, 0x62aa, 0x0000, 0x0000, + 0x0000, 0x0000, 0x62ac, 0x62b1, 0x0000, 0x62b4, 0x0000, 0x0000, 0x62b9, 0x62ec, + 0x0000, 0x62ed, 0x0000, 0x62ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x62ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62f0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62f4, 0x0000, 0x0000, 0x0000, 0x62f5, + 0x0000, 0x0000, 0x0000, 0x62f8, 0x62f9, 0x62fa, 0x0000, 0x0000, 0x62ff, 0x0000, + 0x6306, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6308, 0x0000, + 0x630a, 0x0000, 0x631f, 0x0000, 0x6323, 0x0000, 0x0000, 0x0000, 0x0000, 0x6328, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x632a, + 0x0000, 0x632c, 0x0000, 0x632e, 0x0000, 0x0000, 0x6337, 0x0000, 0x0000, 0x6339, + 0x0000, 0x0000, 0x0000, 0x633a, 0x0000, 0x0000, 0x0000, 0x633f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6345, + 0x6347, 0x0000, 0x0000, 0x6349, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x634b, 0x0000, 0x0000, 0x0000, 0x634d, 0x0000, 0x0000, 0x0000, 0x6350, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6359, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x635b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x635c, 0x0000, 0x0000, 0x0000, 0x635d, 0x0000, 0x0000, 0x6360, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6362, 0x0000, 0x0000, 0x6363, 0x0000, + 0x6366, 0x0000, 0x0000, 0x6369, 0x0000, 0x0000, 0x0000, 0x636a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x636c, 0x0000, 0x636d, 0x636e, 0x636f, 0x0000, 0x0000, 0x0000, + 0x6370, 0x0000, 0x6371, 0x0000, 0x0000, 0x0000, 0x6373, 0x0000, 0x6375, 0x0000, + 0x637c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x637d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x637f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6382, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6383, 0x0000, 0x0000, 0x0000, 0x0000, 0x6385, 0x0000, 0x0000, 0x0000, 0x0000, + 0x638b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x638c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x638d, + 0x0000, 0x6399, 0x0000, 0x0000, 0x639a, 0x0000, 0x63a0, 0x0000, 0x63a6, 0x0000, + 0x63a8, 0x0000, 0x0000, 0x63a9, 0x63aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x63ad, 0x63ae, 0x63af, 0x0000, 0x63b0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x63b1, 0x0000, 0x63b2, 0x63b7, 0x63be, 0x0000, 0x63c0, + 0x0000, 0x63c1, 0x0000, 0x0000, 0x63cc, 0x63ce, 0x0000, 0x0000, 0x63cf, 0x0000, + 0x63d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63d2, 0x0000, 0x63d3, 0x0000, + 0x63d4, 0x63d5, 0x63e0, 0x0000, 0x0000, 0x0000, 0x63e2, 0x63e3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x63e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x63eb, + 0x0000, 0x0000, 0x0000, 0x63ed, 0x0000, 0x0000, 0x0000, 0x63ee, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63f4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x63f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x63f6, 0x0000, 0x63f7, + 0x63f8, 0x63f9, 0x0000, 0x63fa, 0x0000, 0x0000, 0x0000, 0x63fc, 0x0000, 0x63fd, + 0x640f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6412, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6413, 0x6417, 0x0000, 0x0000, 0x641d, 0x0000, 0x0000, 0x641f, 0x0000, + 0x0000, 0x0000, 0x6423, 0x6424, 0x0000, 0x0000, 0x6431, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6436, 0x0000, 0x0000, 0x0000, 0x643d, 0x643f, 0x0000, 0x0000, 0x6447, + 0x0000, 0x0000, 0x644e, 0x6462, 0x0000, 0x6463, 0x6466, 0x6467, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6468, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x646a, 0x0000, 0x0000, 0x646e, 0x0000, 0x646f, 0x0000, 0x6470, + 0x0000, 0x6473, 0x6474, 0x6475, 0x0000, 0x0000, 0x6476, 0x6480, 0x6484, 0x0000, + 0x0000, 0x0000, 0x6486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6489, 0x0000, 0x0000, 0x648b, 0x0000, 0x0000, 0x0000, 0x648c, + 0x0000, 0x648d, 0x6491, 0x0000, 0x6492, 0x0000, 0x6494, 0x64ac, 0x64b2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x64b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x64b5, + 0x0000, 0x64b6, 0x64b8, 0x64b9, 0x0000, 0x0000, 0x0000, 0x64bd, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x64c5, 0x64c9, 0x0000, 0x0000, 0x0000, 0x64d0, + 0x64d1, 0x0000, 0x0000, 0x64d3, 0x64d6, 0x64d7, 0x0000, 0x0000, 0x64d9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64dc, 0x0000, 0x0000, + 0x0000, 0x0000, 0x64e8, 0x64e9, 0x0000, 0x0000, 0x0000, 0x64f6, 0x0000, 0x0000, + 0x0000, 0x64f7, 0x64f8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x64f9, 0x64fa, 0x0000, 0x0000, 0x64fb, 0x0000, 0x0000, 0x64fc, + 0x0000, 0x6506, 0x0000, 0x0000, 0x0000, 0x6507, 0x6509, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x650b, 0x650c, 0x0000, 0x650d, 0x6512, 0x0000, + 0x6513, 0x0000, 0x6514, 0x6515, 0x0000, 0x0000, 0x0000, 0x0000, 0x6516, 0x652e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x652f, 0x6530, 0x6531, + 0x0000, 0x0000, 0x0000, 0x6534, 0x6535, 0x0000, 0x0000, 0x0000, 0x0000, 0x6536, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6538, 0x0000, 0x6539, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x653a, 0x0000, + 0x0000, 0x653c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x653d, 0x6547, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6548, 0x0000, 0x0000, 0x654a, 0x0000, 0x0000, 0x0000, + 0x654d, 0x0000, 0x0000, 0x6552, 0x6556, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6559, 0x0000, 0x655e, 0x0000, 0x6564, 0x0000, 0x0000, 0x6569, + 0x656a, 0x0000, 0x0000, 0x656b, 0x0000, 0x656c, 0x656d, 0x656e, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x656f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6570, 0x0000, + 0x0000, 0x0000, 0x6571, 0x6573, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6575, + 0x6577, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x657a, 0x0000, + 0x657d, 0x0000, 0x0000, 0x0000, 0x657e, 0x0000, 0x0000, 0x0000, 0x6580, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6589, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6592, 0x0000, 0x0000, 0x0000, 0x6595, 0x0000, 0x0000, 0x0000, 0x6596, 0x6597, + 0x0000, 0x0000, 0x659e, 0x659f, 0x65a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x65a1, 0x65a2, 0x65a4, 0x0000, 0x65a6, 0x65a7, 0x0000, 0x0000, 0x0000, + 0x65a8, 0x65ac, 0x0000, 0x65ad, 0x65b1, 0x65b2, 0x65bc, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x65be, 0x0000, 0x0000, 0x65bf, 0x0000, 0x0000, 0x65c1, 0x0000, + 0x65c2, 0x0000, 0x65c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x65c5, 0x0000, + 0x0000, 0x0000, 0x0000, 0x65c6, 0x65cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x65cc, 0x0000, 0x65d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x65d3, 0x0000, 0x65d5, 0x0000, + 0x0000, 0x65d7, 0x0000, 0x0000, 0x0000, 0x65d9, 0x0000, 0x65da, 0x65dd, 0x0000, + 0x0000, 0x0000, 0x0000, 0x65de, 0x0000, 0x0000, 0x0000, 0x65df, 0x0000, 0x65ea, + 0x0000, 0x0000, 0x65ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x65ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x65f0, 0x65f5, 0x0000, 0x65fb, 0x660a, 0x0000, 0x660c, + 0x0000, 0x0000, 0x660d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6618, + 0x661d, 0x662b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6634, 0x6636, 0x0000, 0x0000, 0x0000, 0x6637, 0x0000, 0x663a, 0x663b, + 0x0000, 0x0000, 0x663c, 0x0000, 0x0000, 0x663e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x663f, + 0x0000, 0x0000, 0x0000, 0x6640, 0x6641, 0x0000, 0x66d1, 0x66d2, 0x0000, 0x66d3, + 0x0000, 0x0000, 0x66d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x66d5, 0x0000, 0x66db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66df, + 0x0000, 0x0000, 0x0000, 0x66ee, 0x0000, 0x0000, 0x0000, 0x670b, 0x0000, 0x0000, + 0x670e, 0x670f, 0x6711, 0x0000, 0x0000, 0x6718, 0x6726, 0x0000, 0x0000, 0x0000, + 0x0000, 0x672b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x672c, 0x0000, 0x0000, + 0x6734, 0x0000, 0x0000, 0x6737, 0x0000, 0x6738, 0x673a, 0x6740, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6743, 0x0000, 0x6744, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6749, 0x0000, 0x674c, 0x0000, 0x0000, 0x0000, 0x674e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x674f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6751, 0x0000, + 0x6752, 0x6754, 0x0000, 0x6755, 0x6756, 0x0000, 0x0000, 0x0000, 0x6757, 0x0000, + 0x0000, 0x0000, 0x6758, 0x0000, 0x0000, 0x675a, 0x0000, 0x0000, 0x675c, 0x0000, + 0x675f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6760, + 0x6766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6769, 0x0000, 0x0000, 0x676a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x676b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x676d, + 0x0000, 0x6775, 0x0000, 0x0000, 0x6776, 0x0000, 0x6777, 0x0000, 0x0000, 0x6778, + 0x677d, 0x677e, 0x0000, 0x0000, 0x677f, 0x0000, 0x6781, 0x6788, 0x678a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x678b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x678d, 0x0000, 0x0000, 0x678e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6790, 0x0000, 0x6791, + 0x6793, 0x0000, 0x0000, 0x0000, 0x6796, 0x0000, 0x0000, 0x0000, 0x6797, 0x0000, + 0x679c, 0x679e, 0x0000, 0x0000, 0x0000, 0x679f, 0x0000, 0x67a4, 0x0000, 0x67a5, + 0x67a9, 0x67be, 0x0000, 0x0000, 0x0000, 0x67bf, 0x0000, 0x0000, 0x0000, 0x67cb, + 0x0000, 0x0000, 0x67cd, 0x0000, 0x67dc, 0x0000, 0x67e1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x67eb, 0x0000, 0x67ec, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67ee, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x67ef, 0x67f1, 0x67f3, 0x67f6, 0x0000, 0x0000, + 0x0000, 0x67f8, 0x67fc, 0x0000, 0x67fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6803, 0x0000, 0x6805, 0x0000, 0x0000, 0x6806, 0x0000, 0x0000, 0x6808, 0x6813, + 0x0000, 0x0000, 0x0000, 0x6814, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6816, 0x6817, 0x0000, 0x0000, 0x0000, 0x681a, 0x0000, + 0x0000, 0x6820, 0x0000, 0x0000, 0x0000, 0x0000, 0x6827, 0x682e, 0x682f, 0x0000, + 0x0000, 0x0000, 0x683d, 0x683e, 0x683f, 0x0000, 0x6841, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6878, 0x0000, 0x6879, 0x0000, 0x687b, 0x687c, 0x0000, 0x687d, 0x687e, + 0x687f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6880, 0x6883, 0x0000, 0x0000, 0x0000, + 0x6884, 0x6891, 0x0000, 0x0000, 0x0000, 0x6896, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6897, 0x0000, 0x6899, 0x689a, 0x0000, 0x68a2, 0x0000, 0x0000, 0x0000, + 0x68a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x68a4, 0x0000, 0x0000, 0x68a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x68a7, 0x0000, 0x68a8, 0x68a9, 0x0000, 0x0000, 0x0000, + 0x68aa, 0x0000, 0x68ad, 0x68ae, 0x0000, 0x0000, 0x0000, 0x68b0, 0x0000, 0x0000, + 0x68b3, 0x0000, 0x68b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x68b5, 0x0000, 0x0000, 0x68b8, 0x0000, 0x0000, 0x68b9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x68bc, 0x0000, 0x68c9, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x68ca, 0x0000, 0x0000, 0x68cb, + 0x68cd, 0x68d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x68d3, 0x0000, 0x0000, 0x68e1, + 0x0000, 0x68e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x68e4, 0x0000, 0x68e5, 0x68e9, 0x0000, 0x68ea, 0x0000, 0x68eb, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x68fc, 0x0000, 0x68fe, 0x6902, + 0x6903, 0x0000, 0x0000, 0x0000, 0x0000, 0x690a, 0x690e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x690f, 0x6910, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6914, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x691f, 0x6921, 0x6922, 0x6923, + 0x6924, 0x6927, 0x0000, 0x0000, 0x0000, 0x6929, 0x692a, 0x0000, 0x0000, 0x692d, + 0x0000, 0x0000, 0x0000, 0x6930, 0x0000, 0x0000, 0x6931, 0x6932, 0x0000, 0x0000, + 0x0000, 0x6933, 0x0000, 0x6934, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6935, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6939, 0x0000, 0x0000, 0x693f, + 0x0000, 0x0000, 0x6940, 0x0000, 0x0000, 0x0000, 0x6942, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x694c, 0x0000, 0x694e, 0x0000, 0x0000, 0x6953, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6955, 0x0000, 0x6959, + 0x695a, 0x695c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x695d, 0x0000, 0x695e, + 0x0000, 0x6962, 0x0000, 0x6964, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6966, 0x0000, 0x696a, 0x696b, 0x0000, 0x696e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x697b, 0x697e, 0x0000, 0x0000, 0x697f, 0x6982, 0x6984, 0x6985, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6986, 0x6987, 0x698a, 0x0000, + 0x698b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6991, 0x0000, 0x0000, 0x0000, + 0x6992, 0x0000, 0x0000, 0x0000, 0x0000, 0x6995, 0x6996, 0x6997, 0x699a, 0x0000, + 0x0000, 0x699c, 0x699d, 0x0000, 0x0000, 0x0000, 0x699e, 0x69a2, 0x0000, 0x0000, + 0x0000, 0x69a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69a5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x69a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x69a7, 0x69a9, 0x0000, 0x69aa, 0x0000, 0x0000, 0x0000, 0x69ab, + 0x69ac, 0x0000, 0x69af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x69b0, 0x69b2, 0x69b3, 0x0000, 0x69b5, 0x0000, 0x69b8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x69bd, 0x0000, 0x0000, 0x69be, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69c0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x69c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x69c6, 0x0000, 0x69c7, 0x0000, 0x0000, 0x0000, 0x69c9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x69ca, 0x0000, 0x69cb, 0x69ce, 0x0000, 0x0000, 0x0000, + 0x0000, 0x69cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69d0, 0x69d2, 0x0000, + 0x69d6, 0x0000, 0x0000, 0x69d7, 0x0000, 0x69db, 0x69de, 0x0000, 0x0000, 0x0000, + 0x69df, 0x0000, 0x0000, 0x0000, 0x0000, 0x69e1, 0x0000, 0x0000, 0x0000, 0x69e2, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69e3, 0x0000, 0x0000, 0x0000, + 0x0000, 0x69e4, 0x69ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x69ee, 0x0000, 0x0000, + 0x69f4, 0x0000, 0x69f6, 0x0000, 0x0000, 0x69fa, 0x69fb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6a0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a0c, 0x6a0d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6a0e, 0x6a0f, 0x0000, 0x6a10, 0x0000, 0x6a17, + 0x0000, 0x0000, 0x0000, 0x6a1c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6a27, 0x0000, 0x6a35, 0x0000, 0x0000, 0x6a37, 0x0000, 0x6a39, 0x0000, + 0x6a3b, 0x0000, 0x6a3e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a40, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6a42, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a43, 0x0000, + 0x0000, 0x6a44, 0x0000, 0x0000, 0x6a46, 0x0000, 0x6a47, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6a49, 0x0000, 0x0000, 0x0000, 0x6a4d, 0x0000, 0x0000, 0x6a50, 0x6a53, + 0x6a54, 0x6a56, 0x6a57, 0x0000, 0x6a58, 0x0000, 0x6a59, 0x6a5a, 0x0000, 0x0000, + 0x6a61, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a63, 0x0000, 0x6a65, 0x0000, 0x6a66, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6a67, 0x0000, 0x6a6a, 0x6a6b, 0x0000, 0x6a72, + 0x0000, 0x0000, 0x0000, 0x6a73, 0x0000, 0x6a75, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a76, 0x6a77, 0x6a7a, + 0x0000, 0x0000, 0x0000, 0x6a7b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6a83, 0x0000, 0x6a8c, 0x6a8e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6aa0, 0x6aa1, 0x6aa5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6aa6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ab0, + 0x6ab1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ab6, 0x0000, 0x6ab8, 0x0000, + 0x6ac1, 0x0000, 0x6ac2, 0x6ac3, 0x0000, 0x6ac4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6acc, 0x0000, 0x0000, 0x0000, 0x6ad4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6ad6, 0x0000, 0x6ad7, 0x0000, 0x0000, 0x0000, 0x0000, 0x6adb, 0x0000, + 0x0000, 0x6ade, 0x6adf, 0x6ae1, 0x0000, 0x0000, 0x0000, 0x6ae5, 0x0000, 0x6ae7, + 0x0000, 0x6af0, 0x6af2, 0x0000, 0x0000, 0x6af3, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6b04, 0x0000, 0x6b05, 0x6b0c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6b10, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b3d, 0x0000, 0x0000, 0x0000, + 0x6b40, 0x0000, 0x0000, 0x0000, 0x6b42, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6b43, 0x0000, 0x0000, 0x0000, 0x6b44, 0x0000, 0x0000, 0x6b45, + 0x0000, 0x6b49, 0x6b4b, 0x0000, 0x0000, 0x6b4d, 0x0000, 0x6b4e, 0x0000, 0x6b4f, + 0x0000, 0x6b55, 0x6b5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6b65, 0x0000, 0x6b66, 0x6b6e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b77, 0x6b8c, + 0x0000, 0x0000, 0x0000, 0x6b8d, 0x6b99, 0x0000, 0x0000, 0x0000, 0x6b9a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b9b, + 0x0000, 0x0000, 0x6b9d, 0x6b9e, 0x0000, 0x6b9f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6ba3, 0x0000, 0x0000, 0x6bb3, 0x0000, 0x6bb5, 0x6bb6, + 0x6bb7, 0x6bb9, 0x0000, 0x6bba, 0x0000, 0x0000, 0x6bbb, 0x6bc1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6bc2, 0x0000, 0x0000, 0x6bc4, 0x6bc5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6bcc, 0x0000, 0x0000, 0x6bd0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bd8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bda, + 0x0000, 0x0000, 0x0000, 0x6be2, 0x0000, 0x0000, 0x6be4, 0x0000, 0x0000, 0x0000, + 0x6bef, 0x0000, 0x0000, 0x6bf0, 0x6bf2, 0x0000, 0x6bf4, 0x6bf6, 0x0000, 0x0000, + 0x0000, 0x6bfb, 0x0000, 0x6bfc, 0x6c01, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c03, 0x6c0c, + 0x0000, 0x6c0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c0e, + 0x0000, 0x0000, 0x6c10, 0x0000, 0x6c11, 0x0000, 0x0000, 0x0000, 0x6c15, 0x0000, + 0x6c17, 0x0000, 0x0000, 0x0000, 0x6c19, 0x6c1a, 0x0000, 0x0000, 0x0000, 0x6c22, + 0x0000, 0x0000, 0x0000, 0x6c3f, 0x0000, 0x6c40, 0x6c41, 0x6c47, 0x6c48, 0x0000, + 0x0000, 0x6c50, 0x0000, 0x6c51, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6c53, 0x0000, 0x0000, 0x6c54, 0x0000, 0x6c55, 0x0000, + 0x6c5a, 0x0000, 0x0000, 0x0000, 0x6c5e, 0x0000, 0x0000, 0x0000, 0x6c5f, 0x6c60, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c61, 0x6c62, 0x0000, 0x0000, + 0x0000, 0x6c63, 0x6c64, 0x6c67, 0x6c68, 0x0000, 0x0000, 0x0000, 0x6c78, 0x6c7a, + 0x0000, 0x0000, 0x0000, 0x6c7e, 0x6c7f, 0x0000, 0x6c80, 0x6c81, 0x0000, 0x0000, + 0x6c85, 0x0000, 0x6c88, 0x0000, 0x6c8a, 0x0000, 0x0000, 0x6c8f, 0x0000, 0x6c90, + 0x6c91, 0x6c9c, 0x0000, 0x6ca4, 0x6ca5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6ca6, 0x0000, 0x6cb1, 0x0000, 0x6cb3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6cb4, 0x6cd5, 0x6cd6, 0x0000, 0x0000, 0x0000, 0x6cd8, 0x0000, + 0x0000, 0x0000, 0x6cd9, 0x6cec, 0x0000, 0x6cf1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6cf2, 0x0000, 0x6cf3, 0x0000, 0x0000, 0x0000, 0x6cf4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6cf9, 0x6cfa, 0x0000, 0x0000, 0x6cfb, 0x0000, 0x0000, + 0x0000, 0x6cfd, 0x6d01, 0x0000, 0x0000, 0x6d10, 0x0000, 0x0000, 0x6d11, 0x0000, + 0x6d12, 0x0000, 0x0000, 0x0000, 0x6d1b, 0x6d1e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d25, 0x0000, 0x6d26, 0x0000, + 0x6d29, 0x0000, 0x6d2b, 0x6d32, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d38, 0x6d3b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d3c, 0x6d3d, + 0x0000, 0x0000, 0x0000, 0x6d3f, 0x0000, 0x6d41, 0x6d47, 0x0000, 0x6d48, 0x6d49, + 0x0000, 0x6d4d, 0x0000, 0x6d4f, 0x6d93, 0x6d94, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6d98, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d9a, 0x6d9b, + 0x0000, 0x0000, 0x6d9d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6d9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6da2, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6da5, 0x6da6, 0x6da8, 0x0000, 0x6da9, 0x0000, + 0x0000, 0x6daa, 0x0000, 0x0000, 0x0000, 0x0000, 0x6dab, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6dae, 0x0000, 0x0000, 0x0000, 0x0000, 0x6db5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6db6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6db8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6dba, 0x0000, 0x6dc1, 0x6dd2, 0x6dd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6dd4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6dd6, 0x0000, + 0x6de1, 0x0000, 0x6de3, 0x0000, 0x0000, 0x6de7, 0x0000, 0x0000, 0x0000, 0x6dec, + 0x6ded, 0x0000, 0x0000, 0x0000, 0x6df2, 0x0000, 0x0000, 0x0000, 0x0000, 0x6df8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6dfb, 0x6dfd, 0x6e01, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6e06, 0x0000, 0x6e07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e0c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6e0d, 0x0000, 0x0000, 0x6e0f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e12, 0x6e1c, 0x0000, 0x6e1e, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6e1f, 0x0000, 0x6e21, 0x6e2e, 0x0000, 0x0000, + 0x6e2f, 0x6e31, 0x0000, 0x6e33, 0x0000, 0x6e35, 0x0000, 0x0000, 0x0000, 0x6e37, + 0x6e38, 0x6e39, 0x0000, 0x6e3e, 0x0000, 0x6e3f, 0x6e41, 0x0000, 0x0000, 0x0000, + 0x6e42, 0x0000, 0x6e43, 0x6e45, 0x6e48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6e4b, 0x0000, 0x6e51, 0x0000, 0x0000, 0x6e52, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6e53, 0x0000, 0x0000, 0x0000, 0x6e55, 0x0000, + 0x0000, 0x0000, 0x6e58, 0x6e5a, 0x0000, 0x6e5b, 0x6e5c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6e5d, 0x0000, 0x0000, 0x6e5e, 0x6e5f, 0x0000, 0x0000, + 0x6e60, 0x0000, 0x0000, 0x6e62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e63, + 0x0000, 0x0000, 0x6e64, 0x0000, 0x0000, 0x6e65, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6e66, 0x6e67, 0x0000, 0x0000, 0x6e68, 0x0000, 0x0000, 0x0000, 0x6e6a, 0x0000, + 0x6e6c, 0x6e6d, 0x0000, 0x6e6e, 0x6e70, 0x6e72, 0x0000, 0x6e75, 0x6e76, 0x0000, + 0x0000, 0x0000, 0x6e77, 0x0000, 0x6e78, 0x6e79, 0x6e7b, 0x0000, 0x6e84, 0x0000, + 0x6e86, 0x0000, 0x6e89, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e8b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6e8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6e8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e8e, 0x6e8f, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6e90, 0x0000, 0x0000, 0x6e91, 0x0000, 0x6e98, 0x0000, 0x6e99, 0x6e9a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e9b, 0x0000, 0x0000, 0x0000, + 0x6ea0, 0x6ea1, 0x0000, 0x0000, 0x6ea8, 0x0000, 0x0000, 0x0000, 0x6ea9, 0x6eb2, + 0x0000, 0x6eb3, 0x0000, 0x0000, 0x6eb8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6ebb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6ebc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6efb, 0x0000, + 0x6efc, 0x6efd, 0x0000, 0x6f00, 0x0000, 0x0000, 0x0000, 0x6f04, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6f05, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f07, 0x0000, + 0x0000, 0x0000, 0x6f08, 0x0000, 0x0000, 0x6f0c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6f0d, 0x0000, 0x0000, 0x0000, 0x6f0f, 0x6f12, 0x0000, 0x6f2a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6f30, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f31, 0x0000, 0x6f33, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6f37, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f3a, + 0x0000, 0x6f40, 0x0000, 0x6f41, 0x0000, 0x0000, 0x6f45, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6f46, 0x6f48, 0x0000, 0x0000, 0x6f49, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6f4c, 0x0000, 0x0000, 0x0000, 0x6f4f, 0x0000, 0x6f51, 0x0000, 0x6f53, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6f54, 0x0000, 0x0000, 0x6f56, 0x6f57, 0x0000, 0x0000, + 0x0000, 0x6f5c, 0x0000, 0x0000, 0x0000, 0x6f5e, 0x0000, 0x0000, 0x6f60, 0x6f61, + 0x6f62, 0x6f69, 0x0000, 0x6f6e, 0x0000, 0x6f6f, 0x6f70, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6f71, 0x0000, 0x0000, 0x6f74, 0x0000, 0x0000, 0x6f79, 0x6f7a, 0x0000, + 0x0000, 0x0000, 0x6f7b, 0x0000, 0x6f84, 0x0000, 0x6f89, 0x6f8a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6f90, 0x6f93, 0x0000, 0x0000, 0x6f94, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f95, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f96, 0x6f98, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f99, 0x0000, 0x0000, 0x0000, 0x6f9a, + 0x0000, 0x6f9c, 0x6f9d, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f9f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6fa0, 0x6fa5, 0x6fac, 0x0000, 0x0000, 0x6fad, 0x0000, 0x0000, + 0x0000, 0x6fae, 0x6fb3, 0x0000, 0x6fb6, 0x0000, 0x0000, 0x6fb9, 0x0000, 0x0000, + 0x6fbd, 0x0000, 0x0000, 0x0000, 0x0000, 0x6fc6, 0x6fc7, 0x6fcb, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6fcc, 0x0000, 0x6fd2, 0x0000, 0x0000, 0x6fd4, + 0x0000, 0x6fd7, 0x0000, 0x6fd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6fdb, 0x0000, 0x0000, 0x0000, 0x6fdd, 0x6fde, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6fdf, 0x0000, 0x6fe3, + 0x0000, 0x0000, 0x6fec, 0x0000, 0x0000, 0x0000, 0x6ff6, 0x0000, 0x6ffe, 0x6fff, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7000, + 0x7001, 0x7003, 0x7004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7013, 0x0000, 0x0000, 0x0000, 0x7017, 0x0000, 0x0000, 0x0000, 0x7018, 0x0000, + 0x7019, 0x701a, 0x0000, 0x7021, 0x0000, 0x7023, 0x7024, 0x7026, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7027, 0x7038, 0x0000, 0x0000, 0x0000, + 0x7040, 0x0000, 0x0000, 0x0000, 0x7041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7042, 0x0000, 0x7043, 0x0000, 0x7045, 0x0000, + 0x0000, 0x7046, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7049, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x704d, 0x704e, 0x7050, 0x7052, 0x7054, 0x0000, 0x7055, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7057, 0x7058, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x705a, + 0x0000, 0x0000, 0x0000, 0x705c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x705e, 0x0000, 0x705f, 0x7060, 0x0000, 0x0000, 0x0000, 0x0000, 0x7061, 0x7062, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7063, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7064, + 0x0000, 0x7065, 0x0000, 0x706e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7070, 0x0000, 0x7071, 0x0000, 0x7072, 0x0000, 0x0000, 0x0000, 0x7073, 0x0000, + 0x0000, 0x0000, 0x707d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x707f, + 0x0000, 0x0000, 0x7081, 0x0000, 0x0000, 0x0000, 0x0000, 0x7082, 0x0000, 0x7085, + 0x0000, 0x0000, 0x7086, 0x0000, 0x0000, 0x7087, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7088, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x708a, + 0x708c, 0x0000, 0x0000, 0x7090, 0x7093, 0x0000, 0x0000, 0x7095, 0x0000, 0x709a, + 0x0000, 0x0000, 0x0000, 0x70aa, 0x70b4, 0x0000, 0x0000, 0x70b5, 0x0000, 0x70b6, + 0x70b7, 0x0000, 0x0000, 0x0000, 0x70b9, 0x0000, 0x0000, 0x0000, 0x70ba, 0x0000, + 0x70c3, 0x70c4, 0x70c5, 0x0000, 0x0000, 0x0000, 0x70ca, 0x70d0, 0x70d2, 0x70da, + 0x70dc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x70df, 0x0000, + 0x0000, 0x0000, 0x70e2, 0x70e3, 0x0000, 0x0000, 0x0000, 0x70e4, 0x0000, 0x0000, + 0x70e8, 0x0000, 0x70ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x70eb, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x70ec, 0x0000, 0x0000, 0x0000, 0x70ee, 0x0000, + 0x70f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x70f3, 0x70f4, + 0x70f7, 0x0000, 0x0000, 0x70f8, 0x0000, 0x70f9, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x70fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x70fe, + 0x7101, 0x0000, 0x0000, 0x0000, 0x7102, 0x0000, 0x7108, 0x0000, 0x710b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x710e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x711c, 0x0000, 0x0000, 0x0000, 0x7126, 0x0000, 0x0000, 0x0000, 0x0000, 0x7127, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7128, + 0x0000, 0x712b, 0x0000, 0x712f, 0x7130, 0x0000, 0x7136, 0x7137, 0x0000, 0x0000, + 0x7138, 0x713d, 0x7144, 0x7145, 0x7146, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7147, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7148, 0x0000, 0x7149, + 0x0000, 0x0000, 0x0000, 0x7151, 0x0000, 0x0000, 0x7153, 0x0000, 0x0000, 0x715d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7160, 0x0000, 0x7161, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7162, 0x0000, 0x0000, 0x0000, 0x716c, 0x0000, 0x0000, 0x0000, + 0x716d, 0x0000, 0x0000, 0x0000, 0x0000, 0x716e, 0x0000, 0x7175, 0x0000, 0x7177, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x717b, + 0x0000, 0x0000, 0x0000, 0x717e, 0x7180, 0x7186, 0x0000, 0x718e, 0x719a, 0x0000, + 0x0000, 0x0000, 0x719b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x719c, + 0x0000, 0x0000, 0x0000, 0x0000, 0x719d, 0x71a0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x71a2, 0x71a9, 0x0000, 0x0000, 0x0000, 0x71af, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71b1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x71b3, 0x0000, 0x71b5, 0x0000, 0x0000, 0x0000, 0x71bb, + 0x0000, 0x0000, 0x71c0, 0x0000, 0x0000, 0x71d2, 0x71d4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71e0, 0x0000, 0x71e8, 0x71f6, + 0x0000, 0x71f8, 0x0000, 0x0000, 0x71fc, 0x0000, 0x71fd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x722c, 0x0000, 0x0000, 0x722d, 0x0000, + 0x0000, 0x722e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7232, 0x0000, 0x0000, 0x0000, 0x7239, 0x0000, 0x723d, 0x0000, + 0x7240, 0x0000, 0x7242, 0x7248, 0x7260, 0x0000, 0x7262, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7265, 0x0000, 0x0000, 0x7266, 0x726b, 0x726c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x726e, 0x0000, 0x726f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7270, 0x7271, 0x7272, 0x7274, 0x0000, 0x7276, 0x0000, 0x0000, 0x7278, 0x727b, + 0x0000, 0x7280, 0x0000, 0x0000, 0x0000, 0x728a, 0x0000, 0x0000, 0x728b, 0x0000, + 0x0000, 0x728c, 0x728e, 0x7290, 0x0000, 0x7297, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x729a, 0x729b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x729d, 0x729f, 0x0000, 0x0000, 0x0000, 0x0000, 0x72a0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x72a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x72a2, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x72a3, 0x72a4, 0x72a5, 0x0000, 0x0000, 0x72aa, + 0x0000, 0x0000, 0x72ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x72ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x72b4, 0x0000, 0x72b5, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72b6, 0x0000, 0x0000, 0x72b8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72c2, 0x0000, + 0x72c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ca, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72cd, 0x0000, 0x0000, 0x0000, + 0x72ce, 0x0000, 0x0000, 0x72cf, 0x72d5, 0x0000, 0x72d6, 0x72e4, 0x72e6, 0x72ea, + 0x72eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ec, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ef, 0x0000, 0x0000, 0x0000, + 0x72fb, 0x0000, 0x0000, 0x0000, 0x72fd, 0x0000, 0x0000, 0x72ff, 0x0000, 0x7301, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7303, 0x0000, 0x7306, 0x730a, 0x730c, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7310, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7315, 0x0000, 0x0000, 0x0000, 0x7318, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x731c, 0x0000, 0x7321, 0x0000, 0x0000, 0x0000, 0x732e, + 0x0000, 0x0000, 0x0000, 0x7332, 0x0000, 0x0000, 0x0000, 0x7333, 0x7334, 0x0000, + 0x0000, 0x7339, 0x0000, 0x0000, 0x0000, 0x733a, 0x0000, 0x733b, 0x0000, 0x733e, + 0x7341, 0x0000, 0x7345, 0x0000, 0x0000, 0x0000, 0x7346, 0x0000, 0x0000, 0x0000, + 0x7348, 0x0000, 0x0000, 0x0000, 0x734c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x734e, 0x0000, 0x734f, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7350, 0x7351, 0x7359, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x735a, 0x0000, 0x0000, 0x735b, 0x7362, 0x0000, 0x7364, 0x0000, + 0x0000, 0x0000, 0x7366, 0x0000, 0x7367, 0x7368, 0x736b, 0x0000, 0x0000, 0x736c, + 0x0000, 0x0000, 0x0000, 0x736d, 0x0000, 0x0000, 0x0000, 0x736e, 0x0000, 0x0000, + 0x7370, 0x0000, 0x0000, 0x0000, 0x0000, 0x7376, 0x7379, 0x0000, 0x737a, 0x737c, + 0x0000, 0x0000, 0x737d, 0x0000, 0x0000, 0x737e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x738a, 0x7390, 0x7392, 0x7397, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7399, 0x739a, 0x0000, 0x0000, 0x739d, 0x0000, + 0x0000, 0x73ad, 0x0000, 0x73ae, 0x0000, 0x73af, 0x0000, 0x0000, 0x0000, 0x0000, + 0x73b0, 0x73b1, 0x0000, 0x0000, 0x73b9, 0x0000, 0x0000, 0x0000, 0x73c0, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73c1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x73c2, 0x73c3, 0x73c5, 0x0000, 0x73c6, 0x0000, 0x73c9, 0x73cb, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73cc, 0x0000, 0x73cd, 0x0000, + 0x73d1, 0x0000, 0x0000, 0x0000, 0x73d2, 0x0000, 0x73d5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x73d8, 0x73db, 0x0000, 0x0000, 0x73dc, 0x0000, 0x0000, 0x0000, 0x73dd, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73e0, 0x0000, 0x0000, 0x0000, 0x73e7, + 0x73e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73eb, 0x0000, + 0x73ed, 0x73ef, 0x0000, 0x0000, 0x73f4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x73f5, 0x0000, 0x0000, 0x0000, 0x73f7, 0x0000, 0x0000, 0x0000, 0x73f8, 0x0000, + 0x73f9, 0x73fa, 0x7404, 0x0000, 0x7405, 0x0000, 0x0000, 0x0000, 0x7406, 0x0000, + 0x740a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7418, 0x0000, + 0x7419, 0x0000, 0x741f, 0x0000, 0x7425, 0x7426, 0x0000, 0x7436, 0x7441, 0x0000, + 0x7443, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7444, 0x0000, 0x0000, 0x7445, + 0x0000, 0x0000, 0x0000, 0x744b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x744c, 0x0000, 0x0000, 0x0000, + 0x744d, 0x744e, 0x744f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x747e, 0x0000, 0x0000, 0x0000, 0x7480, 0x0000, + 0x7481, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7483, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7485, 0x0000, 0x7488, 0x748a, 0x0000, + 0x0000, 0x748b, 0x0000, 0x0000, 0x748d, 0x748e, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7493, 0x0000, 0x0000, 0x0000, 0x0000, 0x7494, + 0x7495, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7499, 0x0000, 0x0000, 0x74ad, 0x74b0, 0x74c2, 0x74d1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x74d3, 0x74e1, 0x0000, 0x74e2, 0x0000, 0x0000, 0x74e3, 0x74e6, + 0x74f8, 0x74fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x74fb, + 0x74fc, 0x0000, 0x0000, 0x0000, 0x74ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7501, 0x0000, 0x0000, 0x7504, 0x0000, 0x7505, 0x0000, 0x0000, 0x750a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7513, 0x0000, 0x0000, 0x0000, 0x7514, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x751a, 0x0000, 0x751b, 0x7528, 0x7537, 0x7538, 0x753a, + 0x0000, 0x0000, 0x0000, 0x753d, 0x0000, 0x0000, 0x0000, 0x0000, 0x753e, 0x7540, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7541, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7547, 0x754f, 0x0000, + 0x0000, 0x7551, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7552, 0x0000, 0x7556, 0x0000, 0x7557, 0x0000, 0x7558, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7573, 0x7574, 0x0000, 0x0000, 0x0000, + 0x7575, 0x0000, 0x7578, 0x0000, 0x0000, 0x0000, 0x7579, 0x0000, 0x0000, 0x0000, + 0x0000, 0x757b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x757f, 0x0000, + 0x0000, 0x7580, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7582, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7584, + 0x758a, 0x0000, 0x0000, 0x758b, 0x0000, 0x0000, 0x0000, 0x0000, 0x7592, 0x75a6, + 0x0000, 0x75a7, 0x0000, 0x75a9, 0x75b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75b3, 0x75b4, + 0x75b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75b7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75b8, + 0x0000, 0x0000, 0x75b9, 0x75ba, 0x0000, 0x0000, 0x0000, 0x75bb, 0x75c2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x75c3, 0x0000, 0x0000, 0x75c4, 0x75c7, 0x0000, + 0x0000, 0x0000, 0x75d8, 0x0000, 0x75dc, 0x75dd, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x75e4, 0x75e5, 0x0000, 0x75f0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75f2, 0x75f4, 0x0000, 0x0000, 0x75f7, + 0x0000, 0x0000, 0x75fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x75fb, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7605, 0x0000, + 0x0000, 0x0000, 0x7608, 0x0000, 0x0000, 0x7609, 0x0000, 0x0000, 0x0000, 0x760a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x760b, 0x0000, 0x760c, 0x0000, 0x760e, 0x7613, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7617, 0x0000, 0x0000, 0x7619, 0x761b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x761e, 0x0000, 0x7620, 0x7623, 0x7625, 0x0000, + 0x762a, 0x762c, 0x0000, 0x0000, 0x0000, 0x763d, 0x0000, 0x0000, 0x763f, 0x7640, + 0x0000, 0x0000, 0x0000, 0x7646, 0x7648, 0x0000, 0x0000, 0x764a, 0x0000, 0x764c, + 0x0000, 0x7656, 0x0000, 0x0000, 0x0000, 0x0000, 0x7657, 0x7658, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x765a, 0x765b, 0x765e, 0x7660, 0x7662, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x766c, 0x766d, 0x0000, 0x0000, 0x0000, 0x766e, + 0x0000, 0x0000, 0x0000, 0x766f, 0x0000, 0x7670, 0x7672, 0x7676, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7677, 0x0000, 0x767c, 0x768c, 0x768d, 0x0000, 0x0000, + 0x7694, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7695, + 0x0000, 0x7696, 0x0000, 0x7697, 0x7698, 0x0000, 0x0000, 0x769d, 0x769e, 0x76aa, + 0x0000, 0x0000, 0x0000, 0x0000, 0x76ab, 0x0000, 0x0000, 0x76ad, 0x0000, 0x76b1, + 0x0000, 0x76b4, 0x76bd, 0x0000, 0x0000, 0x0000, 0x76c1, 0x0000, 0x0000, 0x0000, + 0x0000, 0x76c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76c4, 0x0000, 0x0000, + 0x76c5, 0x0000, 0x76c6, 0x76c8, 0x0000, 0x76c9, 0x0000, 0x76ca, 0x0000, 0x0000, + 0x0000, 0x76d1, 0x0000, 0x0000, 0x76d2, 0x76d3, 0x0000, 0x76d4, 0x0000, 0x76d8, + 0x0000, 0x0000, 0x0000, 0x76db, 0x76de, 0x76e0, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76e1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x76e4, 0x0000, 0x76e5, 0x76e6, 0x0000, 0x76e9, 0x76ea, + 0x0000, 0x0000, 0x0000, 0x76ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x76f4, 0x76f8, + 0x76f9, 0x0000, 0x0000, 0x0000, 0x76fa, 0x0000, 0x7700, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7703, 0x0000, 0x7705, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x770d, 0x0000, 0x0000, 0x7714, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7715, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7716, 0x7717, 0x7721, 0x7722, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7729, 0x0000, 0x772c, 0x0000, 0x0000, 0x0000, 0x772d, 0x772e, 0x0000, 0x7732, + 0x7734, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x773b, 0x0000, 0x773c, 0x0000, 0x773d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7749, 0x0000, 0x0000, 0x774a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7759, 0x0000, 0x0000, 0x775b, 0x775c, 0x775e, 0x775f, 0x7760, 0x0000, 0x0000, + 0x7761, 0x0000, 0x7762, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7763, 0x776a, 0x776b, 0x0000, 0x777a, 0x777b, 0x0000, 0x0000, 0x777e, + 0x0000, 0x0000, 0x7782, 0x0000, 0x0000, 0x0000, 0x0000, 0x7793, 0x7794, 0x779f, + 0x77aa, 0x0000, 0x0000, 0x77ac, 0x77b0, 0x77bf, 0x77c0, 0x0000, 0x77c1, 0x0000, + 0x0000, 0x77c2, 0x77cd, 0x0000, 0x77ce, 0x0000, 0x77d4, 0x77d6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x77d7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x77e7, 0x0000, 0x0000, + 0x77ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x77ec, 0x0000, 0x0000, 0x0000, 0x0000, + 0x77ed, 0x0000, 0x77ee, 0x77ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x77f3, 0x0000, + 0x0000, 0x0000, 0x77f5, 0x0000, 0x0000, 0x77f6, 0x77ff, 0x7809, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x780b, 0x0000, 0x0000, + 0x780d, 0x0000, 0x0000, 0x0000, 0x780e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7810, 0x7811, 0x0000, 0x0000, 0x0000, 0x7814, 0x0000, 0x0000, 0x0000, 0x7817, + 0x0000, 0x781a, 0x0000, 0x781b, 0x781c, 0x0000, 0x0000, 0x781f, 0x7820, 0x7821, + 0x0000, 0x0000, 0x0000, 0x7822, 0x0000, 0x0000, 0x7828, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x782b, 0x0000, 0x782c, 0x0000, 0x0000, 0x782e, + 0x0000, 0x7831, 0x7832, 0x7833, 0x7836, 0x7839, 0x0000, 0x0000, 0x783b, 0x783c, + 0x783d, 0x0000, 0x0000, 0x0000, 0x0000, 0x7846, 0x0000, 0x0000, 0x0000, 0x7848, + 0x0000, 0x0000, 0x0000, 0x0000, 0x785a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x785c, 0x7863, 0x0000, 0x0000, 0x7867, 0x7868, 0x0000, 0x7869, + 0x0000, 0x786b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x786c, 0x0000, + 0x0000, 0x786e, 0x0000, 0x0000, 0x0000, 0x7872, 0x0000, 0x7873, 0x0000, 0x7875, + 0x7876, 0x0000, 0x787d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x787e, 0x787f, + 0x0000, 0x0000, 0x7881, 0x0000, 0x7883, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7884, 0x788a, 0x0000, 0x0000, 0x788b, 0x0000, 0x7891, 0x0000, 0x0000, 0x7892, + 0x0000, 0x0000, 0x7894, 0x0000, 0x0000, 0x7895, 0x0000, 0x0000, 0x0000, 0x78a1, + 0x78a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x78a9, 0x0000, 0x78ab, 0x0000, + 0x0000, 0x0000, 0x0000, 0x78ae, 0x0000, 0x78af, 0x0000, 0x78b1, 0x0000, 0x78b2, + 0x0000, 0x0000, 0x0000, 0x78b8, 0x78ba, 0x0000, 0x78bd, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x78be, 0x0000, 0x0000, 0x0000, 0x78c3, 0x78d5, 0x78de, + 0x0000, 0x0000, 0x0000, 0x0000, 0x78df, 0x0000, 0x0000, 0x78e1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x78e2, 0x0000, 0x0000, 0x78e3, 0x0000, 0x0000, + 0x78eb, 0x78ec, 0x0000, 0x0000, 0x78f0, 0x0000, 0x0000, 0x78f1, 0x78f2, 0x78f6, + 0x0000, 0x0000, 0x78f9, 0x78fe, 0x0000, 0x0000, 0x0000, 0x7900, 0x0000, 0x0000, + 0x7901, 0x0000, 0x7902, 0x7906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7912, 0x7913, 0x7916, 0x0000, 0x7918, 0x0000, 0x0000, 0x7919, 0x0000, + 0x0000, 0x791b, 0x791d, 0x0000, 0x0000, 0x791e, 0x7923, 0x0000, 0x0000, 0x7926, + 0x0000, 0x7928, 0x0000, 0x0000, 0x0000, 0x0000, 0x792a, 0x0000, 0x0000, 0x792c, + 0x792f, 0x7930, 0x7931, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7933, 0x7934, 0x7935, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7938, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x793c, 0x793d, + 0x793e, 0x0000, 0x0000, 0x0000, 0x7941, 0x7943, 0x7945, 0x0000, 0x7947, 0x0000, + 0x0000, 0x0000, 0x7948, 0x0000, 0x7949, 0x0000, 0x0000, 0x0000, 0x794d, 0x794e, + 0x794f, 0x0000, 0x0000, 0x7957, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x795a, + 0x0000, 0x795c, 0x795f, 0x0000, 0x0000, 0x0000, 0x7960, 0x7961, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7963, 0x0000, 0x0000, 0x7964, 0x0000, 0x0000, 0x0000, 0x7965, + 0x7967, 0x0000, 0x7968, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x796f, 0x0000, 0x79a6, 0x0000, 0x79a8, 0x0000, 0x0000, + 0x79a9, 0x79aa, 0x79ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79ad, 0x0000, 0x79af, + 0x79b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79ba, 0x79c3, + 0x79c6, 0x79c7, 0x0000, 0x0000, 0x0000, 0x79c8, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x79cb, 0x0000, 0x0000, 0x0000, 0x79d2, 0x0000, 0x0000, + 0x0000, 0x79d8, 0x79db, 0x0000, 0x0000, 0x79dc, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x79de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x79df, 0x0000, 0x0000, 0x0000, 0x79e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x79eb, + 0x79ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x79ff, 0x0000, 0x7a00, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a01, 0x7a04, + 0x7a15, 0x0000, 0x7a16, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a17, + 0x0000, 0x0000, 0x7a19, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7a1a, 0x7a1b, 0x0000, 0x0000, 0x7a1c, 0x0000, 0x7a1d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7a1e, 0x7a1f, 0x0000, 0x0000, 0x7a20, 0x0000, + 0x7a22, 0x0000, 0x7a23, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a31, 0x0000, + 0x7a32, 0x0000, 0x7a34, 0x0000, 0x0000, 0x7a35, 0x7a37, 0x7a38, 0x0000, 0x0000, + 0x7a3a, 0x0000, 0x0000, 0x0000, 0x7a3c, 0x7a3f, 0x0000, 0x7a43, 0x0000, 0x7a44, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a46, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7a47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a48, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7a49, 0x7a4c, 0x7a4d, 0x7a53, 0x0000, 0x7a55, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7a5b, 0x0000, 0x7a5c, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7a5d, 0x7a5f, 0x0000, 0x0000, 0x7a63, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7a65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a68, 0x0000, + 0x0000, 0x7a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a6a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7a6b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a6e, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7a71, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7a73, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7a74, 0x0000, 0x0000, 0x7a76, 0x7a77, 0x0000, 0x7a78, 0x0000, 0x0000, 0x7a7a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7a7b, 0x0000, 0x0000, 0x7a7c, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a83, 0x0000, + 0x7a8c, 0x0000, 0x0000, 0x7a8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7a90, 0x0000, 0x7a9c, 0x0000, 0x7a9d, 0x0000, 0x7aa0, + 0x0000, 0x7aa9, 0x0000, 0x7aad, 0x7aaf, 0x7ab0, 0x0000, 0x7ab1, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7ab5, 0x7ab7, 0x0000, 0x0000, 0x0000, 0x7ab8, + 0x7aba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7abe, 0x7abf, 0x0000, + 0x0000, 0x7ac0, 0x0000, 0x7ac1, 0x7ac8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7ac9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7aca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7acb, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ace, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7ad2, 0x0000, 0x7ad4, 0x0000, 0x7ad8, 0x0000, + 0x0000, 0x7adb, 0x0000, 0x0000, 0x0000, 0x0000, 0x7adc, 0x0000, 0x7ae5, 0x7ae9, + 0x0000, 0x0000, 0x7aea, 0x0000, 0x0000, 0x7aeb, 0x0000, 0x0000, 0x7aec, 0x0000, + 0x0000, 0x0000, 0x7aed, 0x7af1, 0x0000, 0x7af4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7b01, 0x7b02, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b04, + 0x7b05, 0x7b06, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b0d, 0x7b10, 0x7b11, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b15, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7b16, 0x0000, 0x0000, 0x7b17, 0x0000, 0x0000, 0x7b19, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b1a, + 0x0000, 0x7b22, 0x7b30, 0x7b33, 0x7b34, 0x0000, 0x7b35, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7b3a, 0x7b41, 0x7b47, 0x0000, 0x0000, 0x0000, 0x7b48, + 0x7b49, 0x7b4a, 0x0000, 0x0000, 0x7b4c, 0x7b4f, 0x0000, 0x7b51, 0x0000, 0x0000, + 0x0000, 0x7b52, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b53, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7b54, 0x7b56, 0x7b5c, 0x7b5d, 0x0000, 0x0000, 0x7b5e, + 0x7b60, 0x7b61, 0x7b62, 0x7b6b, 0x0000, 0x7b6c, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7b6d, 0x0000, 0x7b6f, 0x0000, 0x7b70, 0x7b71, 0x0000, 0x0000, 0x7b73, 0x7b74, + 0x0000, 0x0000, 0x7b78, 0x7b7a, 0x0000, 0x0000, 0x0000, 0x7b7b, 0x0000, 0x7b7f, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7b80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x7b81, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b82, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7b85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7b86, 0x7b89, 0x0000, 0x0000, 0x0000, 0x0000, + 0x7b8b, 0x0000, 0x7b99, 0x0000, 0x0000, 0x7b9a, 0x0000, 0x0000, 0x7b9b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b9c, 0x0000, + 0x7b9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ba0, 0x0000, 0x0000, 0x0000, 0x7ba4, + 0x0000, 0x0000, 0x0000, 0x7ba9, 0x0000, 0x0000, 0x7bbc, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x7bc9, 0x7bcb, 0x7bcc, 0x0000, 0x7bce, 0x0000, + 0x0000, 0x0000, 0x7bd0, 0x0000, 0x7bd6, 0x0000, 0x7bd7, 0x0000}; + +static const DictWord kStaticDictionaryWords[31705] = { + { 0, 0, 0 }, { 8, 0, 1002 }, { 136, 0, 1015 }, { 4, 0, 683 }, + { 4, 10, 325 }, { 138, 10, 125 }, { 7, 11, 572 }, { 9, 11, 592 }, + { 11, 11, 680 }, { 11, 11, 842 }, { 11, 11, 924 }, { 12, 11, 356 }, + { 12, 11, 550 }, { 13, 11, 317 }, { 13, 11, 370 }, { 13, 11, 469 }, + { 13, 11, 471 }, { 14, 11, 397 }, { 18, 11, 69 }, { 146, 11, 145 }, + { 134, 0, 1265 }, { 136, 11, 534 }, { 134, 0, 1431 }, { 11, 0, 138 }, + { 140, 0, 40 }, { 4, 0, 155 }, { 7, 0, 1689 }, { 4, 10, 718 }, + { 135, 10, 1216 }, { 4, 0, 245 }, { 5, 0, 151 }, { 5, 0, 741 }, + { 6, 0, 1147 }, { 7, 0, 498 }, { 7, 0, 870 }, { 7, 0, 1542 }, + { 12, 0, 213 }, { 14, 0, 36 }, { 14, 0, 391 }, { 17, 0, 111 }, + { 18, 0, 6 }, { 18, 0, 46 }, { 18, 0, 151 }, { 19, 0, 36 }, + { 20, 0, 32 }, { 20, 0, 56 }, { 20, 0, 69 }, { 20, 0, 102 }, + { 21, 0, 4 }, { 22, 0, 8 }, { 22, 0, 10 }, { 22, 0, 14 }, + { 150, 0, 31 }, { 4, 0, 624 }, { 135, 0, 1752 }, { 5, 10, 124 }, + { 5, 10, 144 }, { 6, 10, 548 }, { 7, 10, 15 }, { 7, 10, 153 }, + { 137, 10, 629 }, { 6, 0, 503 }, { 9, 0, 586 }, { 13, 0, 468 }, + { 14, 0, 66 }, { 16, 0, 58 }, { 7, 10, 1531 }, { 8, 10, 416 }, + { 9, 10, 275 }, { 10, 10, 100 }, { 11, 10, 658 }, { 11, 10, 979 }, + { 12, 10, 86 }, { 14, 10, 207 }, { 15, 10, 20 }, { 143, 10, 25 }, + { 5, 0, 603 }, { 7, 0, 1212 }, { 9, 0, 565 }, { 14, 0, 301 }, + { 5, 10, 915 }, { 6, 10, 1783 }, { 7, 10, 211 }, { 7, 10, 1353 }, + { 9, 10, 83 }, { 10, 10, 376 }, { 10, 10, 431 }, { 11, 10, 543 }, + { 12, 10, 664 }, { 13, 10, 280 }, { 13, 10, 428 }, { 14, 10, 128 }, + { 17, 10, 52 }, { 145, 10, 81 }, { 4, 0, 492 }, { 133, 0, 451 }, + { 135, 0, 835 }, { 141, 0, 70 }, { 132, 0, 539 }, { 7, 11, 748 }, + { 139, 11, 700 }, { 7, 11, 1517 }, { 11, 11, 597 }, { 14, 11, 76 }, + { 14, 11, 335 }, { 148, 11, 33 }, { 6, 0, 113 }, { 135, 0, 436 }, + { 4, 10, 338 }, { 133, 10, 400 }, { 136, 0, 718 }, { 133, 11, 127 }, + { 133, 11, 418 }, { 6, 0, 1505 }, { 7, 0, 520 }, { 6, 11, 198 }, + { 11, 10, 892 }, { 140, 11, 83 }, { 4, 10, 221 }, { 5, 10, 659 }, + { 5, 10, 989 }, { 7, 10, 697 }, { 7, 10, 1211 }, { 138, 10, 284 }, + { 135, 0, 1070 }, { 5, 11, 276 }, { 6, 11, 55 }, { 135, 11, 1369 }, + { 134, 0, 1515 }, { 6, 11, 1752 }, { 136, 11, 726 }, { 138, 10, 507 }, + { 15, 0, 78 }, { 4, 10, 188 }, { 135, 10, 805 }, { 5, 10, 884 }, + { 139, 10, 991 }, { 133, 11, 764 }, { 134, 10, 1653 }, { 6, 11, 309 }, + { 7, 11, 331 }, { 138, 11, 550 }, { 135, 11, 1861 }, { 132, 11, 348 }, + { 135, 11, 986 }, { 135, 11, 1573 }, { 12, 0, 610 }, { 13, 0, 431 }, + { 144, 0, 59 }, { 9, 11, 799 }, { 140, 10, 166 }, { 134, 0, 1530 }, + { 132, 0, 750 }, { 132, 0, 307 }, { 133, 0, 964 }, { 6, 11, 194 }, + { 7, 11, 133 }, { 10, 11, 493 }, { 10, 11, 570 }, { 139, 11, 664 }, + { 5, 11, 24 }, { 5, 11, 569 }, { 6, 11, 3 }, { 6, 11, 119 }, + { 6, 11, 143 }, { 6, 11, 440 }, { 7, 11, 295 }, { 7, 11, 599 }, + { 7, 11, 1686 }, { 7, 11, 1854 }, { 8, 11, 424 }, { 9, 11, 43 }, + { 9, 11, 584 }, { 9, 11, 760 }, { 10, 11, 148 }, { 10, 11, 328 }, + { 11, 11, 159 }, { 11, 11, 253 }, { 11, 11, 506 }, { 12, 11, 487 }, + { 12, 11, 531 }, { 144, 11, 33 }, { 136, 10, 760 }, { 5, 11, 14 }, + { 5, 11, 892 }, { 6, 11, 283 }, { 7, 11, 234 }, { 136, 11, 537 }, + { 135, 11, 1251 }, { 4, 11, 126 }, { 8, 11, 635 }, { 147, 11, 34 }, + { 4, 11, 316 }, { 135, 11, 1561 }, { 6, 0, 999 }, { 6, 0, 1310 }, + { 137, 11, 861 }, { 4, 11, 64 }, { 5, 11, 352 }, { 5, 11, 720 }, + { 6, 11, 368 }, { 139, 11, 359 }, { 4, 0, 75 }, { 5, 0, 180 }, + { 6, 0, 500 }, { 7, 0, 58 }, { 7, 0, 710 }, { 10, 0, 645 }, + { 136, 10, 770 }, { 133, 0, 649 }, { 6, 0, 276 }, { 7, 0, 282 }, + { 7, 0, 879 }, { 7, 0, 924 }, { 8, 0, 459 }, { 9, 0, 599 }, + { 9, 0, 754 }, { 11, 0, 574 }, { 12, 0, 128 }, { 12, 0, 494 }, + { 13, 0, 52 }, { 13, 0, 301 }, { 15, 0, 30 }, { 143, 0, 132 }, + { 132, 0, 200 }, { 4, 10, 89 }, { 5, 10, 489 }, { 6, 10, 315 }, + { 7, 10, 553 }, { 7, 10, 1745 }, { 138, 10, 243 }, { 135, 11, 1050 }, + { 7, 0, 1621 }, { 6, 10, 1658 }, { 9, 10, 3 }, { 10, 10, 154 }, + { 11, 10, 641 }, { 13, 10, 85 }, { 13, 10, 201 }, { 141, 10, 346 }, + { 6, 11, 175 }, { 137, 11, 289 }, { 5, 11, 432 }, { 133, 11, 913 }, + { 6, 0, 225 }, { 137, 0, 211 }, { 7, 0, 718 }, { 8, 0, 687 }, + { 139, 0, 374 }, { 4, 10, 166 }, { 133, 10, 505 }, { 9, 0, 110 }, + { 134, 10, 1670 }, { 8, 0, 58 }, { 9, 0, 724 }, { 11, 0, 809 }, + { 13, 0, 113 }, { 145, 0, 72 }, { 6, 0, 345 }, { 7, 0, 1247 }, + { 144, 11, 82 }, { 5, 11, 931 }, { 134, 11, 1698 }, { 8, 0, 767 }, + { 8, 0, 803 }, { 9, 0, 301 }, { 137, 0, 903 }, { 139, 0, 203 }, + { 134, 0, 1154 }, { 7, 0, 1949 }, { 136, 0, 674 }, { 134, 0, 259 }, + { 135, 0, 1275 }, { 5, 11, 774 }, { 6, 11, 1637 }, { 6, 11, 1686 }, + { 134, 11, 1751 }, { 134, 0, 1231 }, { 7, 10, 445 }, { 8, 10, 307 }, + { 8, 10, 704 }, { 10, 10, 41 }, { 10, 10, 439 }, { 11, 10, 237 }, + { 11, 10, 622 }, { 140, 10, 201 }, { 136, 0, 254 }, { 6, 11, 260 }, + { 135, 11, 1484 }, { 139, 0, 277 }, { 135, 10, 1977 }, { 4, 10, 189 }, + { 5, 10, 713 }, { 6, 11, 573 }, { 136, 10, 57 }, { 138, 10, 371 }, + { 132, 10, 552 }, { 134, 11, 344 }, { 133, 0, 248 }, { 9, 0, 800 }, + { 10, 0, 693 }, { 11, 0, 482 }, { 11, 0, 734 }, { 11, 0, 789 }, + { 134, 11, 240 }, { 4, 0, 116 }, { 5, 0, 95 }, { 5, 0, 445 }, + { 7, 0, 1688 }, { 8, 0, 29 }, { 9, 0, 272 }, { 11, 0, 509 }, + { 11, 0, 915 }, { 4, 11, 292 }, { 4, 11, 736 }, { 5, 11, 871 }, + { 6, 11, 171 }, { 6, 11, 1689 }, { 7, 11, 1324 }, { 7, 11, 1944 }, + { 9, 11, 415 }, { 9, 11, 580 }, { 14, 11, 230 }, { 146, 11, 68 }, + { 7, 0, 490 }, { 13, 0, 100 }, { 143, 0, 75 }, { 135, 0, 1641 }, + { 133, 0, 543 }, { 7, 11, 209 }, { 8, 11, 661 }, { 10, 11, 42 }, + { 11, 11, 58 }, { 12, 11, 58 }, { 12, 11, 118 }, { 141, 11, 32 }, + { 5, 0, 181 }, { 8, 0, 41 }, { 6, 11, 63 }, { 135, 11, 920 }, + { 133, 0, 657 }, { 133, 11, 793 }, { 138, 0, 709 }, { 7, 0, 25 }, + { 8, 0, 202 }, { 138, 0, 536 }, { 5, 11, 665 }, { 135, 10, 1788 }, + { 145, 10, 49 }, { 9, 0, 423 }, { 140, 0, 89 }, { 5, 11, 67 }, + { 6, 11, 62 }, { 6, 11, 374 }, { 135, 11, 1391 }, { 8, 0, 113 }, + { 9, 0, 877 }, { 10, 0, 554 }, { 11, 0, 83 }, { 12, 0, 136 }, + { 19, 0, 109 }, { 9, 11, 790 }, { 140, 11, 47 }, { 138, 10, 661 }, + { 4, 0, 963 }, { 10, 0, 927 }, { 14, 0, 442 }, { 135, 10, 1945 }, + { 133, 0, 976 }, { 132, 0, 206 }, { 4, 11, 391 }, { 135, 11, 1169 }, + { 134, 0, 2002 }, { 6, 0, 696 }, { 134, 0, 1008 }, { 134, 0, 1170 }, + { 132, 11, 271 }, { 7, 0, 13 }, { 8, 0, 226 }, { 10, 0, 537 }, + { 11, 0, 570 }, { 11, 0, 605 }, { 11, 0, 799 }, { 11, 0, 804 }, + { 12, 0, 85 }, { 12, 0, 516 }, { 12, 0, 623 }, { 13, 0, 112 }, + { 13, 0, 361 }, { 14, 0, 77 }, { 14, 0, 78 }, { 17, 0, 28 }, + { 19, 0, 110 }, { 140, 11, 314 }, { 132, 0, 769 }, { 134, 0, 1544 }, + { 4, 0, 551 }, { 137, 0, 678 }, { 5, 10, 84 }, { 134, 10, 163 }, + { 9, 0, 57 }, { 9, 0, 459 }, { 10, 0, 425 }, { 11, 0, 119 }, + { 12, 0, 184 }, { 12, 0, 371 }, { 13, 0, 358 }, { 145, 0, 51 }, + { 5, 0, 188 }, { 5, 0, 814 }, { 8, 0, 10 }, { 9, 0, 421 }, + { 9, 0, 729 }, { 10, 0, 609 }, { 11, 0, 689 }, { 4, 11, 253 }, + { 5, 10, 410 }, { 5, 11, 544 }, { 7, 11, 300 }, { 137, 11, 340 }, + { 134, 0, 624 }, { 138, 11, 321 }, { 135, 0, 1941 }, { 18, 0, 130 }, + { 5, 10, 322 }, { 8, 10, 186 }, { 9, 10, 262 }, { 10, 10, 187 }, + { 142, 10, 208 }, { 5, 11, 53 }, { 5, 11, 541 }, { 6, 11, 94 }, + { 6, 11, 499 }, { 7, 11, 230 }, { 139, 11, 321 }, { 133, 10, 227 }, + { 4, 0, 378 }, { 4, 11, 920 }, { 5, 11, 25 }, { 5, 11, 790 }, + { 6, 11, 457 }, { 135, 11, 853 }, { 137, 0, 269 }, { 132, 0, 528 }, + { 134, 0, 1146 }, { 7, 10, 1395 }, { 8, 10, 486 }, { 9, 10, 236 }, + { 9, 10, 878 }, { 10, 10, 218 }, { 11, 10, 95 }, { 19, 10, 17 }, + { 147, 10, 31 }, { 7, 10, 2043 }, { 8, 10, 672 }, { 141, 10, 448 }, + { 134, 0, 1105 }, { 134, 0, 1616 }, { 134, 11, 1765 }, { 140, 11, 163 }, + { 5, 10, 412 }, { 133, 11, 822 }, { 132, 11, 634 }, { 6, 0, 656 }, + { 134, 11, 1730 }, { 134, 0, 1940 }, { 5, 0, 104 }, { 6, 0, 173 }, + { 135, 0, 1631 }, { 136, 10, 562 }, { 6, 11, 36 }, { 7, 11, 658 }, + { 8, 11, 454 }, { 147, 11, 86 }, { 5, 0, 457 }, { 134, 10, 1771 }, + { 7, 0, 810 }, { 8, 0, 138 }, { 8, 0, 342 }, { 9, 0, 84 }, + { 10, 0, 193 }, { 11, 0, 883 }, { 140, 0, 359 }, { 9, 0, 620 }, + { 135, 10, 1190 }, { 137, 10, 132 }, { 7, 11, 975 }, { 137, 11, 789 }, + { 6, 0, 95 }, { 6, 0, 1934 }, { 136, 0, 967 }, { 141, 11, 335 }, + { 6, 0, 406 }, { 10, 0, 409 }, { 10, 0, 447 }, { 11, 0, 44 }, + { 140, 0, 100 }, { 4, 10, 317 }, { 135, 10, 1279 }, { 132, 0, 477 }, + { 134, 0, 1268 }, { 6, 0, 1941 }, { 8, 0, 944 }, { 5, 10, 63 }, + { 133, 10, 509 }, { 132, 0, 629 }, { 132, 11, 104 }, { 4, 0, 246 }, + { 133, 0, 375 }, { 6, 0, 1636 }, { 132, 10, 288 }, { 135, 11, 1614 }, + { 9, 0, 49 }, { 10, 0, 774 }, { 8, 10, 89 }, { 8, 10, 620 }, + { 11, 10, 628 }, { 12, 10, 322 }, { 143, 10, 124 }, { 4, 0, 282 }, + { 7, 0, 1034 }, { 11, 0, 398 }, { 11, 0, 634 }, { 12, 0, 1 }, + { 12, 0, 79 }, { 12, 0, 544 }, { 14, 0, 237 }, { 17, 0, 10 }, + { 146, 0, 20 }, { 132, 0, 824 }, { 7, 11, 45 }, { 9, 11, 542 }, + { 9, 11, 566 }, { 138, 11, 728 }, { 5, 0, 118 }, { 5, 0, 499 }, + { 6, 0, 476 }, { 6, 0, 665 }, { 6, 0, 1176 }, { 6, 0, 1196 }, + { 7, 0, 600 }, { 7, 0, 888 }, { 135, 0, 1096 }, { 7, 0, 296 }, + { 7, 0, 596 }, { 8, 0, 560 }, { 8, 0, 586 }, { 9, 0, 612 }, + { 11, 0, 304 }, { 12, 0, 46 }, { 13, 0, 89 }, { 14, 0, 112 }, + { 145, 0, 122 }, { 5, 0, 894 }, { 6, 0, 1772 }, { 9, 0, 1009 }, + { 138, 10, 120 }, { 5, 11, 533 }, { 7, 11, 755 }, { 138, 11, 780 }, + { 151, 10, 1 }, { 6, 0, 1474 }, { 7, 11, 87 }, { 142, 11, 288 }, + { 139, 0, 366 }, { 137, 10, 461 }, { 7, 11, 988 }, { 7, 11, 1939 }, + { 9, 11, 64 }, { 9, 11, 502 }, { 12, 11, 7 }, { 12, 11, 34 }, + { 13, 11, 12 }, { 13, 11, 234 }, { 147, 11, 77 }, { 7, 0, 1599 }, + { 7, 0, 1723 }, { 8, 0, 79 }, { 8, 0, 106 }, { 8, 0, 190 }, + { 8, 0, 302 }, { 8, 0, 383 }, { 8, 0, 713 }, { 9, 0, 119 }, + { 9, 0, 233 }, { 9, 0, 419 }, { 9, 0, 471 }, { 10, 0, 181 }, + { 10, 0, 406 }, { 11, 0, 57 }, { 11, 0, 85 }, { 11, 0, 120 }, + { 11, 0, 177 }, { 11, 0, 296 }, { 11, 0, 382 }, { 11, 0, 454 }, + { 11, 0, 758 }, { 11, 0, 999 }, { 12, 0, 27 }, { 12, 0, 98 }, + { 12, 0, 131 }, { 12, 0, 245 }, { 12, 0, 312 }, { 12, 0, 446 }, + { 12, 0, 454 }, { 13, 0, 25 }, { 13, 0, 98 }, { 13, 0, 426 }, + { 13, 0, 508 }, { 14, 0, 70 }, { 14, 0, 163 }, { 14, 0, 272 }, + { 14, 0, 277 }, { 14, 0, 370 }, { 15, 0, 95 }, { 15, 0, 138 }, + { 15, 0, 167 }, { 17, 0, 38 }, { 148, 0, 96 }, { 135, 10, 1346 }, + { 10, 0, 200 }, { 19, 0, 2 }, { 151, 0, 22 }, { 135, 11, 141 }, + { 134, 10, 85 }, { 134, 0, 1759 }, { 138, 0, 372 }, { 145, 0, 16 }, + { 8, 0, 943 }, { 132, 11, 619 }, { 139, 11, 88 }, { 5, 11, 246 }, + { 8, 11, 189 }, { 9, 11, 355 }, { 9, 11, 512 }, { 10, 11, 124 }, + { 10, 11, 453 }, { 11, 11, 143 }, { 11, 11, 416 }, { 11, 11, 859 }, + { 141, 11, 341 }, { 5, 0, 258 }, { 134, 0, 719 }, { 6, 0, 1798 }, + { 6, 0, 1839 }, { 8, 0, 900 }, { 10, 0, 874 }, { 10, 0, 886 }, + { 12, 0, 698 }, { 12, 0, 732 }, { 12, 0, 770 }, { 16, 0, 106 }, + { 18, 0, 163 }, { 18, 0, 170 }, { 18, 0, 171 }, { 152, 0, 20 }, + { 9, 0, 707 }, { 11, 0, 326 }, { 11, 0, 339 }, { 12, 0, 423 }, + { 12, 0, 502 }, { 20, 0, 62 }, { 9, 11, 707 }, { 11, 11, 326 }, + { 11, 11, 339 }, { 12, 11, 423 }, { 12, 11, 502 }, { 148, 11, 62 }, + { 5, 0, 30 }, { 7, 0, 495 }, { 8, 0, 134 }, { 9, 0, 788 }, + { 140, 0, 438 }, { 133, 11, 678 }, { 5, 10, 279 }, { 6, 10, 235 }, + { 7, 10, 468 }, { 8, 10, 446 }, { 9, 10, 637 }, { 10, 10, 717 }, + { 11, 10, 738 }, { 140, 10, 514 }, { 5, 11, 35 }, { 6, 11, 287 }, + { 7, 11, 862 }, { 7, 11, 1886 }, { 138, 11, 179 }, { 7, 0, 1948 }, + { 7, 0, 2004 }, { 132, 11, 517 }, { 5, 10, 17 }, { 6, 10, 371 }, + { 137, 10, 528 }, { 4, 0, 115 }, { 5, 0, 669 }, { 6, 0, 407 }, + { 8, 0, 311 }, { 11, 0, 10 }, { 141, 0, 5 }, { 137, 0, 381 }, + { 5, 0, 50 }, { 6, 0, 439 }, { 7, 0, 780 }, { 135, 0, 1040 }, + { 136, 11, 667 }, { 11, 11, 403 }, { 146, 11, 83 }, { 5, 0, 1 }, + { 6, 0, 81 }, { 138, 0, 520 }, { 134, 0, 738 }, { 5, 0, 482 }, + { 8, 0, 98 }, { 9, 0, 172 }, { 10, 0, 360 }, { 10, 0, 700 }, + { 10, 0, 822 }, { 11, 0, 302 }, { 11, 0, 778 }, { 12, 0, 50 }, + { 12, 0, 127 }, { 12, 0, 396 }, { 13, 0, 62 }, { 13, 0, 328 }, + { 14, 0, 122 }, { 147, 0, 72 }, { 9, 11, 157 }, { 10, 11, 131 }, + { 140, 11, 72 }, { 135, 11, 714 }, { 135, 11, 539 }, { 5, 0, 2 }, + { 6, 0, 512 }, { 7, 0, 797 }, { 7, 0, 1494 }, { 8, 0, 253 }, + { 8, 0, 589 }, { 9, 0, 77 }, { 10, 0, 1 }, { 10, 0, 129 }, + { 10, 0, 225 }, { 11, 0, 118 }, { 11, 0, 226 }, { 11, 0, 251 }, + { 11, 0, 430 }, { 11, 0, 701 }, { 11, 0, 974 }, { 11, 0, 982 }, + { 12, 0, 64 }, { 12, 0, 260 }, { 12, 0, 488 }, { 140, 0, 690 }, + { 5, 11, 394 }, { 7, 11, 367 }, { 7, 11, 487 }, { 7, 11, 857 }, + { 7, 11, 1713 }, { 8, 11, 246 }, { 9, 11, 537 }, { 10, 11, 165 }, + { 12, 11, 219 }, { 140, 11, 561 }, { 136, 0, 557 }, { 5, 10, 779 }, + { 5, 10, 807 }, { 6, 10, 1655 }, { 134, 10, 1676 }, { 4, 10, 196 }, + { 5, 10, 558 }, { 133, 10, 949 }, { 11, 11, 827 }, { 12, 11, 56 }, + { 14, 11, 34 }, { 143, 11, 148 }, { 137, 0, 347 }, { 133, 0, 572 }, + { 134, 0, 832 }, { 4, 0, 12 }, { 7, 0, 504 }, { 7, 0, 522 }, + { 7, 0, 809 }, { 8, 0, 797 }, { 141, 0, 88 }, { 4, 10, 752 }, + { 133, 11, 449 }, { 7, 11, 86 }, { 8, 11, 103 }, { 145, 11, 69 }, + { 7, 11, 2028 }, { 138, 11, 641 }, { 5, 0, 528 }, { 6, 11, 1 }, + { 142, 11, 2 }, { 134, 0, 861 }, { 10, 0, 294 }, { 4, 10, 227 }, + { 5, 10, 159 }, { 5, 10, 409 }, { 7, 10, 80 }, { 10, 10, 479 }, + { 12, 10, 418 }, { 14, 10, 50 }, { 14, 10, 249 }, { 142, 10, 295 }, + { 7, 10, 1470 }, { 8, 10, 66 }, { 8, 10, 137 }, { 8, 10, 761 }, + { 9, 10, 638 }, { 11, 10, 80 }, { 11, 10, 212 }, { 11, 10, 368 }, + { 11, 10, 418 }, { 12, 10, 8 }, { 13, 10, 15 }, { 16, 10, 61 }, + { 17, 10, 59 }, { 19, 10, 28 }, { 148, 10, 84 }, { 20, 0, 109 }, + { 135, 11, 1148 }, { 6, 11, 277 }, { 7, 11, 1274 }, { 7, 11, 1386 }, + { 7, 11, 1392 }, { 12, 11, 129 }, { 146, 11, 87 }, { 6, 11, 187 }, + { 7, 11, 39 }, { 7, 11, 1203 }, { 8, 11, 380 }, { 8, 11, 542 }, + { 14, 11, 117 }, { 149, 11, 28 }, { 134, 0, 1187 }, { 5, 0, 266 }, + { 9, 0, 290 }, { 9, 0, 364 }, { 10, 0, 293 }, { 11, 0, 606 }, + { 142, 0, 45 }, { 6, 11, 297 }, { 7, 11, 793 }, { 139, 11, 938 }, + { 4, 0, 50 }, { 6, 0, 594 }, { 9, 0, 121 }, { 10, 0, 49 }, + { 10, 0, 412 }, { 139, 0, 834 }, { 136, 0, 748 }, { 7, 11, 464 }, + { 8, 11, 438 }, { 11, 11, 105 }, { 11, 11, 363 }, { 12, 11, 231 }, + { 14, 11, 386 }, { 15, 11, 102 }, { 148, 11, 75 }, { 132, 0, 466 }, + { 13, 0, 399 }, { 14, 0, 337 }, { 6, 10, 38 }, { 7, 10, 1220 }, + { 8, 10, 185 }, { 8, 10, 256 }, { 9, 10, 22 }, { 9, 10, 331 }, + { 10, 10, 738 }, { 11, 10, 205 }, { 11, 10, 540 }, { 11, 10, 746 }, + { 13, 10, 465 }, { 142, 10, 194 }, { 9, 0, 378 }, { 141, 0, 162 }, + { 137, 0, 519 }, { 4, 10, 159 }, { 6, 10, 115 }, { 7, 10, 252 }, + { 7, 10, 257 }, { 7, 10, 1928 }, { 8, 10, 69 }, { 9, 10, 384 }, + { 10, 10, 91 }, { 10, 10, 615 }, { 12, 10, 375 }, { 14, 10, 235 }, + { 18, 10, 117 }, { 147, 10, 123 }, { 5, 11, 604 }, { 5, 10, 911 }, + { 136, 10, 278 }, { 132, 0, 667 }, { 8, 0, 351 }, { 9, 0, 322 }, + { 4, 10, 151 }, { 135, 10, 1567 }, { 134, 0, 902 }, { 133, 10, 990 }, + { 12, 0, 180 }, { 5, 10, 194 }, { 7, 10, 1662 }, { 137, 10, 90 }, + { 4, 0, 869 }, { 134, 0, 1996 }, { 134, 0, 813 }, { 133, 10, 425 }, + { 137, 11, 761 }, { 132, 0, 260 }, { 133, 10, 971 }, { 5, 11, 20 }, + { 6, 11, 298 }, { 7, 11, 659 }, { 7, 11, 1366 }, { 137, 11, 219 }, + { 4, 0, 39 }, { 5, 0, 36 }, { 7, 0, 1843 }, { 8, 0, 407 }, + { 11, 0, 144 }, { 140, 0, 523 }, { 4, 0, 510 }, { 10, 0, 587 }, + { 139, 10, 752 }, { 7, 0, 29 }, { 7, 0, 66 }, { 7, 0, 1980 }, + { 10, 0, 487 }, { 138, 0, 809 }, { 13, 0, 260 }, { 14, 0, 82 }, + { 18, 0, 63 }, { 137, 10, 662 }, { 5, 10, 72 }, { 6, 10, 264 }, + { 7, 10, 21 }, { 7, 10, 46 }, { 7, 10, 2013 }, { 8, 10, 215 }, + { 8, 10, 513 }, { 10, 10, 266 }, { 139, 10, 22 }, { 134, 0, 570 }, + { 6, 0, 565 }, { 7, 0, 1667 }, { 4, 11, 439 }, { 10, 10, 95 }, + { 11, 10, 603 }, { 12, 11, 242 }, { 13, 10, 443 }, { 14, 10, 160 }, + { 143, 10, 4 }, { 134, 0, 1464 }, { 134, 10, 431 }, { 9, 0, 372 }, + { 15, 0, 2 }, { 19, 0, 10 }, { 19, 0, 18 }, { 5, 10, 874 }, + { 6, 10, 1677 }, { 143, 10, 0 }, { 132, 0, 787 }, { 6, 0, 380 }, + { 12, 0, 399 }, { 21, 0, 19 }, { 7, 10, 939 }, { 7, 10, 1172 }, + { 7, 10, 1671 }, { 9, 10, 540 }, { 10, 10, 696 }, { 11, 10, 265 }, + { 11, 10, 732 }, { 11, 10, 928 }, { 11, 10, 937 }, { 141, 10, 438 }, + { 137, 0, 200 }, { 132, 11, 233 }, { 132, 0, 516 }, { 134, 11, 577 }, + { 132, 0, 844 }, { 11, 0, 887 }, { 14, 0, 365 }, { 142, 0, 375 }, + { 132, 11, 482 }, { 8, 0, 821 }, { 140, 0, 44 }, { 7, 0, 1655 }, + { 136, 0, 305 }, { 5, 10, 682 }, { 135, 10, 1887 }, { 135, 11, 346 }, + { 132, 10, 696 }, { 4, 0, 10 }, { 7, 0, 917 }, { 139, 0, 786 }, + { 5, 11, 795 }, { 6, 11, 1741 }, { 8, 11, 417 }, { 137, 11, 782 }, + { 4, 0, 1016 }, { 134, 0, 2031 }, { 5, 0, 684 }, { 4, 10, 726 }, + { 133, 10, 630 }, { 6, 0, 1021 }, { 134, 0, 1480 }, { 8, 10, 802 }, + { 136, 10, 838 }, { 134, 0, 27 }, { 134, 0, 395 }, { 135, 11, 622 }, + { 7, 11, 625 }, { 135, 11, 1750 }, { 4, 11, 203 }, { 135, 11, 1936 }, + { 6, 10, 118 }, { 7, 10, 215 }, { 7, 10, 1521 }, { 140, 10, 11 }, + { 132, 0, 813 }, { 136, 0, 511 }, { 7, 10, 615 }, { 138, 10, 251 }, + { 135, 10, 1044 }, { 145, 0, 56 }, { 133, 10, 225 }, { 6, 0, 342 }, + { 6, 0, 496 }, { 8, 0, 275 }, { 137, 0, 206 }, { 4, 0, 909 }, + { 133, 0, 940 }, { 132, 0, 891 }, { 7, 11, 311 }, { 9, 11, 308 }, + { 140, 11, 255 }, { 4, 10, 370 }, { 5, 10, 756 }, { 135, 10, 1326 }, + { 4, 0, 687 }, { 134, 0, 1596 }, { 134, 0, 1342 }, { 6, 10, 1662 }, + { 7, 10, 48 }, { 8, 10, 771 }, { 10, 10, 116 }, { 13, 10, 104 }, + { 14, 10, 105 }, { 14, 10, 184 }, { 15, 10, 168 }, { 19, 10, 92 }, + { 148, 10, 68 }, { 138, 10, 209 }, { 4, 11, 400 }, { 5, 11, 267 }, + { 135, 11, 232 }, { 151, 11, 12 }, { 6, 0, 41 }, { 141, 0, 160 }, + { 141, 11, 314 }, { 134, 0, 1718 }, { 136, 0, 778 }, { 142, 11, 261 }, + { 134, 0, 1610 }, { 133, 0, 115 }, { 132, 0, 294 }, { 14, 0, 314 }, + { 132, 10, 120 }, { 132, 0, 983 }, { 5, 0, 193 }, { 140, 0, 178 }, + { 138, 10, 429 }, { 5, 10, 820 }, { 135, 10, 931 }, { 6, 0, 994 }, + { 6, 0, 1051 }, { 6, 0, 1439 }, { 7, 0, 174 }, { 133, 11, 732 }, + { 4, 11, 100 }, { 7, 11, 679 }, { 8, 11, 313 }, { 138, 10, 199 }, + { 6, 10, 151 }, { 6, 10, 1675 }, { 7, 10, 383 }, { 151, 10, 10 }, + { 6, 0, 1796 }, { 8, 0, 848 }, { 8, 0, 867 }, { 8, 0, 907 }, + { 10, 0, 855 }, { 140, 0, 703 }, { 140, 0, 221 }, { 4, 0, 122 }, + { 5, 0, 796 }, { 5, 0, 952 }, { 6, 0, 1660 }, { 6, 0, 1671 }, + { 8, 0, 567 }, { 9, 0, 687 }, { 9, 0, 742 }, { 10, 0, 686 }, + { 11, 0, 682 }, { 11, 0, 909 }, { 140, 0, 281 }, { 5, 11, 362 }, + { 5, 11, 443 }, { 6, 11, 318 }, { 7, 11, 1019 }, { 139, 11, 623 }, + { 5, 11, 463 }, { 136, 11, 296 }, { 11, 0, 583 }, { 13, 0, 262 }, + { 6, 10, 1624 }, { 12, 10, 422 }, { 142, 10, 360 }, { 5, 0, 179 }, + { 7, 0, 1095 }, { 135, 0, 1213 }, { 4, 10, 43 }, { 4, 11, 454 }, + { 5, 10, 344 }, { 133, 10, 357 }, { 4, 0, 66 }, { 7, 0, 722 }, + { 135, 0, 904 }, { 134, 0, 773 }, { 7, 0, 352 }, { 133, 10, 888 }, + { 5, 11, 48 }, { 5, 11, 404 }, { 6, 11, 557 }, { 7, 11, 458 }, + { 8, 11, 597 }, { 10, 11, 455 }, { 10, 11, 606 }, { 11, 11, 49 }, + { 11, 11, 548 }, { 12, 11, 476 }, { 13, 11, 18 }, { 141, 11, 450 }, + { 134, 11, 418 }, { 132, 10, 711 }, { 5, 11, 442 }, { 135, 11, 1984 }, + { 141, 0, 35 }, { 137, 0, 152 }, { 134, 0, 1197 }, { 135, 11, 1093 }, + { 137, 11, 203 }, { 137, 10, 440 }, { 10, 0, 592 }, { 10, 0, 753 }, + { 12, 0, 317 }, { 12, 0, 355 }, { 12, 0, 465 }, { 12, 0, 469 }, + { 12, 0, 560 }, { 12, 0, 578 }, { 141, 0, 243 }, { 133, 0, 564 }, + { 134, 0, 797 }, { 5, 10, 958 }, { 133, 10, 987 }, { 5, 11, 55 }, + { 7, 11, 376 }, { 140, 11, 161 }, { 133, 11, 450 }, { 134, 0, 556 }, + { 134, 0, 819 }, { 11, 10, 276 }, { 142, 10, 293 }, { 7, 0, 544 }, + { 138, 0, 61 }, { 8, 0, 719 }, { 4, 10, 65 }, { 5, 10, 479 }, + { 5, 10, 1004 }, { 7, 10, 1913 }, { 8, 10, 317 }, { 9, 10, 302 }, + { 10, 10, 612 }, { 141, 10, 22 }, { 4, 0, 5 }, { 5, 0, 498 }, + { 8, 0, 637 }, { 9, 0, 521 }, { 4, 11, 213 }, { 4, 10, 261 }, + { 7, 11, 223 }, { 7, 10, 510 }, { 136, 11, 80 }, { 5, 0, 927 }, + { 7, 0, 101 }, { 4, 10, 291 }, { 7, 11, 381 }, { 7, 11, 806 }, + { 7, 11, 820 }, { 8, 11, 354 }, { 8, 11, 437 }, { 8, 11, 787 }, + { 9, 10, 515 }, { 9, 11, 657 }, { 10, 11, 58 }, { 10, 11, 339 }, + { 10, 11, 749 }, { 11, 11, 914 }, { 12, 10, 152 }, { 12, 11, 162 }, + { 12, 10, 443 }, { 13, 11, 75 }, { 13, 10, 392 }, { 14, 11, 106 }, + { 14, 11, 198 }, { 14, 11, 320 }, { 14, 10, 357 }, { 14, 11, 413 }, + { 146, 11, 43 }, { 6, 0, 1153 }, { 7, 0, 1441 }, { 136, 11, 747 }, + { 4, 0, 893 }, { 5, 0, 780 }, { 133, 0, 893 }, { 138, 11, 654 }, + { 133, 11, 692 }, { 133, 0, 238 }, { 134, 11, 191 }, { 4, 10, 130 }, + { 135, 10, 843 }, { 6, 0, 1296 }, { 5, 10, 42 }, { 5, 10, 879 }, + { 7, 10, 245 }, { 7, 10, 324 }, { 7, 10, 1532 }, { 11, 10, 463 }, + { 11, 10, 472 }, { 13, 10, 363 }, { 144, 10, 52 }, { 134, 0, 1729 }, + { 6, 0, 1999 }, { 136, 0, 969 }, { 4, 10, 134 }, { 133, 10, 372 }, + { 4, 0, 60 }, { 7, 0, 941 }, { 7, 0, 1800 }, { 8, 0, 314 }, + { 9, 0, 700 }, { 139, 0, 487 }, { 134, 0, 1144 }, { 6, 11, 162 }, + { 7, 11, 1960 }, { 136, 11, 831 }, { 132, 11, 706 }, { 135, 0, 1147 }, + { 138, 11, 426 }, { 138, 11, 89 }, { 7, 0, 1853 }, { 138, 0, 437 }, + { 136, 0, 419 }, { 135, 10, 1634 }, { 133, 0, 828 }, { 5, 0, 806 }, + { 7, 0, 176 }, { 7, 0, 178 }, { 7, 0, 1240 }, { 7, 0, 1976 }, + { 132, 10, 644 }, { 135, 11, 1877 }, { 5, 11, 420 }, { 135, 11, 1449 }, + { 4, 0, 51 }, { 5, 0, 39 }, { 6, 0, 4 }, { 7, 0, 591 }, + { 7, 0, 849 }, { 7, 0, 951 }, { 7, 0, 1613 }, { 7, 0, 1760 }, + { 7, 0, 1988 }, { 9, 0, 434 }, { 10, 0, 754 }, { 11, 0, 25 }, + { 139, 0, 37 }, { 10, 11, 57 }, { 138, 11, 277 }, { 135, 10, 540 }, + { 132, 11, 204 }, { 135, 0, 159 }, { 139, 11, 231 }, { 133, 0, 902 }, + { 7, 0, 928 }, { 7, 11, 366 }, { 9, 11, 287 }, { 12, 11, 199 }, + { 12, 11, 556 }, { 140, 11, 577 }, { 6, 10, 623 }, { 136, 10, 789 }, + { 4, 10, 908 }, { 5, 10, 359 }, { 5, 10, 508 }, { 6, 10, 1723 }, + { 7, 10, 343 }, { 7, 10, 1996 }, { 135, 10, 2026 }, { 134, 0, 270 }, + { 4, 10, 341 }, { 135, 10, 480 }, { 5, 11, 356 }, { 135, 11, 224 }, + { 11, 11, 588 }, { 11, 11, 864 }, { 11, 11, 968 }, { 143, 11, 160 }, + { 132, 0, 556 }, { 137, 0, 801 }, { 132, 0, 416 }, { 142, 0, 372 }, + { 5, 0, 152 }, { 5, 0, 197 }, { 7, 0, 340 }, { 7, 0, 867 }, + { 10, 0, 548 }, { 10, 0, 581 }, { 11, 0, 6 }, { 12, 0, 3 }, + { 12, 0, 19 }, { 14, 0, 110 }, { 142, 0, 289 }, { 139, 0, 369 }, + { 7, 11, 630 }, { 9, 11, 567 }, { 11, 11, 150 }, { 11, 11, 444 }, + { 141, 11, 119 }, { 134, 11, 539 }, { 7, 10, 1995 }, { 8, 10, 299 }, + { 11, 10, 890 }, { 140, 10, 674 }, { 7, 0, 34 }, { 7, 0, 190 }, + { 8, 0, 28 }, { 8, 0, 141 }, { 8, 0, 444 }, { 8, 0, 811 }, + { 9, 0, 468 }, { 11, 0, 334 }, { 12, 0, 24 }, { 12, 0, 386 }, + { 140, 0, 576 }, { 133, 0, 757 }, { 7, 0, 1553 }, { 136, 0, 898 }, + { 133, 0, 721 }, { 136, 0, 1012 }, { 4, 0, 789 }, { 5, 0, 647 }, + { 135, 0, 1102 }, { 132, 0, 898 }, { 10, 0, 183 }, { 4, 10, 238 }, + { 5, 10, 503 }, { 6, 10, 179 }, { 7, 10, 2003 }, { 8, 10, 381 }, + { 8, 10, 473 }, { 9, 10, 149 }, { 10, 10, 788 }, { 15, 10, 45 }, + { 15, 10, 86 }, { 20, 10, 110 }, { 150, 10, 57 }, { 9, 0, 136 }, + { 19, 0, 107 }, { 4, 10, 121 }, { 5, 10, 156 }, { 5, 10, 349 }, + { 10, 10, 605 }, { 142, 10, 342 }, { 4, 11, 235 }, { 135, 11, 255 }, + { 4, 11, 194 }, { 5, 11, 584 }, { 6, 11, 384 }, { 7, 11, 583 }, + { 10, 11, 761 }, { 11, 11, 760 }, { 139, 11, 851 }, { 6, 10, 80 }, + { 6, 10, 1694 }, { 7, 10, 173 }, { 7, 10, 1974 }, { 9, 10, 547 }, + { 10, 10, 730 }, { 14, 10, 18 }, { 150, 10, 39 }, { 4, 10, 923 }, + { 134, 10, 1711 }, { 5, 0, 277 }, { 141, 0, 247 }, { 132, 0, 435 }, + { 133, 11, 562 }, { 134, 0, 1311 }, { 5, 11, 191 }, { 137, 11, 271 }, + { 132, 10, 595 }, { 7, 11, 1537 }, { 14, 11, 96 }, { 143, 11, 73 }, + { 5, 0, 437 }, { 7, 0, 502 }, { 7, 0, 519 }, { 7, 0, 1122 }, + { 7, 0, 1751 }, { 14, 0, 211 }, { 6, 10, 459 }, { 7, 10, 1753 }, + { 7, 10, 1805 }, { 8, 10, 658 }, { 9, 10, 1 }, { 11, 10, 959 }, + { 141, 10, 446 }, { 6, 0, 814 }, { 4, 11, 470 }, { 5, 11, 473 }, + { 6, 11, 153 }, { 7, 11, 1503 }, { 7, 11, 1923 }, { 10, 11, 701 }, + { 11, 11, 132 }, { 11, 11, 168 }, { 11, 11, 227 }, { 11, 11, 320 }, + { 11, 11, 436 }, { 11, 11, 525 }, { 11, 11, 855 }, { 12, 11, 41 }, + { 12, 11, 286 }, { 13, 11, 103 }, { 13, 11, 284 }, { 14, 11, 255 }, + { 14, 11, 262 }, { 15, 11, 117 }, { 143, 11, 127 }, { 5, 0, 265 }, + { 6, 0, 212 }, { 135, 0, 28 }, { 138, 0, 750 }, { 133, 11, 327 }, + { 6, 11, 552 }, { 7, 11, 1754 }, { 137, 11, 604 }, { 134, 0, 2012 }, + { 132, 0, 702 }, { 5, 11, 80 }, { 6, 11, 405 }, { 7, 11, 403 }, + { 7, 11, 1502 }, { 7, 11, 1626 }, { 8, 11, 456 }, { 9, 11, 487 }, + { 9, 11, 853 }, { 9, 11, 889 }, { 10, 11, 309 }, { 11, 11, 721 }, + { 11, 11, 994 }, { 12, 11, 430 }, { 141, 11, 165 }, { 5, 0, 808 }, + { 135, 0, 2045 }, { 5, 0, 166 }, { 8, 0, 739 }, { 140, 0, 511 }, + { 134, 10, 490 }, { 4, 11, 453 }, { 5, 11, 887 }, { 6, 11, 535 }, + { 8, 11, 6 }, { 136, 11, 543 }, { 4, 0, 119 }, { 5, 0, 170 }, + { 5, 0, 447 }, { 7, 0, 1708 }, { 7, 0, 1889 }, { 9, 0, 357 }, + { 9, 0, 719 }, { 12, 0, 486 }, { 140, 0, 596 }, { 137, 0, 500 }, + { 7, 10, 250 }, { 136, 10, 507 }, { 132, 10, 158 }, { 6, 0, 809 }, + { 134, 0, 1500 }, { 9, 0, 327 }, { 11, 0, 350 }, { 11, 0, 831 }, + { 13, 0, 352 }, { 4, 10, 140 }, { 7, 10, 362 }, { 8, 10, 209 }, + { 9, 10, 10 }, { 9, 10, 503 }, { 9, 10, 614 }, { 10, 10, 689 }, + { 11, 10, 327 }, { 11, 10, 725 }, { 12, 10, 252 }, { 12, 10, 583 }, + { 13, 10, 192 }, { 14, 10, 269 }, { 14, 10, 356 }, { 148, 10, 50 }, + { 135, 11, 741 }, { 4, 0, 450 }, { 7, 0, 1158 }, { 19, 10, 1 }, + { 19, 10, 26 }, { 150, 10, 9 }, { 6, 0, 597 }, { 135, 0, 1318 }, + { 134, 0, 1602 }, { 6, 10, 228 }, { 7, 10, 1341 }, { 9, 10, 408 }, + { 138, 10, 343 }, { 7, 0, 1375 }, { 7, 0, 1466 }, { 138, 0, 331 }, + { 132, 0, 754 }, { 132, 10, 557 }, { 5, 11, 101 }, { 6, 11, 88 }, + { 6, 11, 543 }, { 7, 11, 1677 }, { 9, 11, 100 }, { 10, 11, 677 }, + { 14, 11, 169 }, { 14, 11, 302 }, { 14, 11, 313 }, { 15, 11, 48 }, + { 143, 11, 84 }, { 134, 0, 1368 }, { 4, 11, 310 }, { 9, 11, 795 }, + { 10, 11, 733 }, { 11, 11, 451 }, { 12, 11, 249 }, { 14, 11, 115 }, + { 14, 11, 286 }, { 143, 11, 100 }, { 132, 10, 548 }, { 10, 0, 557 }, + { 7, 10, 197 }, { 8, 10, 142 }, { 8, 10, 325 }, { 9, 10, 150 }, + { 9, 10, 596 }, { 10, 10, 353 }, { 11, 10, 74 }, { 11, 10, 315 }, + { 12, 10, 662 }, { 12, 10, 681 }, { 14, 10, 423 }, { 143, 10, 141 }, + { 133, 11, 587 }, { 5, 0, 850 }, { 136, 0, 799 }, { 10, 0, 908 }, + { 12, 0, 701 }, { 12, 0, 757 }, { 142, 0, 466 }, { 4, 0, 62 }, + { 5, 0, 275 }, { 18, 0, 19 }, { 6, 10, 399 }, { 6, 10, 579 }, + { 7, 10, 692 }, { 7, 10, 846 }, { 7, 10, 1015 }, { 7, 10, 1799 }, + { 8, 10, 403 }, { 9, 10, 394 }, { 10, 10, 133 }, { 12, 10, 4 }, + { 12, 10, 297 }, { 12, 10, 452 }, { 16, 10, 81 }, { 18, 10, 25 }, + { 21, 10, 14 }, { 22, 10, 12 }, { 151, 10, 18 }, { 12, 0, 459 }, + { 7, 10, 1546 }, { 11, 10, 299 }, { 142, 10, 407 }, { 132, 10, 177 }, + { 132, 11, 498 }, { 7, 11, 217 }, { 8, 11, 140 }, { 138, 11, 610 }, + { 5, 10, 411 }, { 135, 10, 653 }, { 134, 0, 1802 }, { 7, 10, 439 }, + { 10, 10, 727 }, { 11, 10, 260 }, { 139, 10, 684 }, { 133, 11, 905 }, + { 11, 11, 580 }, { 142, 11, 201 }, { 134, 0, 1397 }, { 5, 10, 208 }, + { 7, 10, 753 }, { 135, 10, 1528 }, { 7, 0, 238 }, { 7, 0, 2033 }, + { 8, 0, 120 }, { 8, 0, 188 }, { 8, 0, 659 }, { 9, 0, 598 }, + { 10, 0, 466 }, { 12, 0, 342 }, { 12, 0, 588 }, { 13, 0, 503 }, + { 14, 0, 246 }, { 143, 0, 92 }, { 135, 11, 1041 }, { 4, 11, 456 }, + { 7, 11, 105 }, { 7, 11, 358 }, { 7, 11, 1637 }, { 8, 11, 643 }, + { 139, 11, 483 }, { 6, 0, 1318 }, { 134, 0, 1324 }, { 4, 0, 201 }, + { 7, 0, 1744 }, { 8, 0, 602 }, { 11, 0, 247 }, { 11, 0, 826 }, + { 17, 0, 65 }, { 133, 10, 242 }, { 8, 0, 164 }, { 146, 0, 62 }, + { 133, 10, 953 }, { 139, 10, 802 }, { 133, 0, 615 }, { 7, 11, 1566 }, + { 8, 11, 269 }, { 9, 11, 212 }, { 9, 11, 718 }, { 14, 11, 15 }, + { 14, 11, 132 }, { 142, 11, 227 }, { 133, 10, 290 }, { 132, 10, 380 }, + { 5, 10, 52 }, { 7, 10, 277 }, { 9, 10, 368 }, { 139, 10, 791 }, + { 135, 0, 1243 }, { 133, 11, 539 }, { 11, 11, 919 }, { 141, 11, 409 }, + { 136, 0, 968 }, { 133, 11, 470 }, { 134, 0, 882 }, { 132, 0, 907 }, + { 5, 0, 100 }, { 10, 0, 329 }, { 12, 0, 416 }, { 149, 0, 29 }, + { 10, 10, 138 }, { 139, 10, 476 }, { 5, 10, 725 }, { 5, 10, 727 }, + { 6, 11, 91 }, { 7, 11, 435 }, { 135, 10, 1811 }, { 4, 11, 16 }, + { 5, 11, 316 }, { 5, 11, 842 }, { 6, 11, 370 }, { 6, 11, 1778 }, + { 8, 11, 166 }, { 11, 11, 812 }, { 12, 11, 206 }, { 12, 11, 351 }, + { 14, 11, 418 }, { 16, 11, 15 }, { 16, 11, 34 }, { 18, 11, 3 }, + { 19, 11, 3 }, { 19, 11, 7 }, { 20, 11, 4 }, { 149, 11, 21 }, + { 132, 0, 176 }, { 5, 0, 636 }, { 5, 0, 998 }, { 7, 0, 9 }, + { 7, 0, 1508 }, { 8, 0, 26 }, { 9, 0, 317 }, { 9, 0, 358 }, + { 10, 0, 210 }, { 10, 0, 292 }, { 10, 0, 533 }, { 11, 0, 555 }, + { 12, 0, 526 }, { 12, 0, 607 }, { 13, 0, 263 }, { 13, 0, 459 }, + { 142, 0, 271 }, { 6, 0, 256 }, { 8, 0, 265 }, { 4, 10, 38 }, + { 7, 10, 307 }, { 7, 10, 999 }, { 7, 10, 1481 }, { 7, 10, 1732 }, + { 7, 10, 1738 }, { 9, 10, 414 }, { 11, 10, 316 }, { 12, 10, 52 }, + { 13, 10, 420 }, { 147, 10, 100 }, { 135, 10, 1296 }, { 4, 11, 611 }, + { 133, 11, 606 }, { 4, 0, 643 }, { 142, 11, 21 }, { 133, 11, 715 }, + { 133, 10, 723 }, { 6, 0, 610 }, { 135, 11, 597 }, { 10, 0, 127 }, + { 141, 0, 27 }, { 6, 0, 1995 }, { 6, 0, 2001 }, { 8, 0, 119 }, + { 136, 0, 973 }, { 4, 11, 149 }, { 138, 11, 368 }, { 12, 0, 522 }, + { 4, 11, 154 }, { 5, 10, 109 }, { 6, 10, 1784 }, { 7, 11, 1134 }, + { 7, 10, 1895 }, { 8, 11, 105 }, { 12, 10, 296 }, { 140, 10, 302 }, + { 4, 11, 31 }, { 6, 11, 429 }, { 7, 11, 962 }, { 9, 11, 458 }, + { 139, 11, 691 }, { 10, 0, 553 }, { 11, 0, 876 }, { 13, 0, 193 }, + { 13, 0, 423 }, { 14, 0, 166 }, { 19, 0, 84 }, { 4, 11, 312 }, + { 5, 10, 216 }, { 7, 10, 1879 }, { 9, 10, 141 }, { 9, 10, 270 }, + { 9, 10, 679 }, { 10, 10, 159 }, { 11, 10, 197 }, { 12, 10, 538 }, + { 12, 10, 559 }, { 14, 10, 144 }, { 14, 10, 167 }, { 143, 10, 67 }, + { 134, 0, 1582 }, { 7, 0, 1578 }, { 135, 11, 1578 }, { 137, 10, 81 }, + { 132, 11, 236 }, { 134, 10, 391 }, { 134, 0, 795 }, { 7, 10, 322 }, + { 136, 10, 249 }, { 5, 11, 836 }, { 5, 11, 857 }, { 6, 11, 1680 }, + { 7, 11, 59 }, { 147, 11, 53 }, { 135, 0, 432 }, { 10, 11, 68 }, + { 139, 11, 494 }, { 4, 11, 81 }, { 139, 11, 867 }, { 7, 0, 126 }, + { 136, 0, 84 }, { 142, 11, 280 }, { 5, 11, 282 }, { 8, 11, 650 }, + { 9, 11, 295 }, { 9, 11, 907 }, { 138, 11, 443 }, { 136, 0, 790 }, + { 5, 10, 632 }, { 138, 10, 526 }, { 6, 0, 64 }, { 12, 0, 377 }, + { 13, 0, 309 }, { 14, 0, 141 }, { 14, 0, 429 }, { 14, 11, 141 }, + { 142, 11, 429 }, { 134, 0, 1529 }, { 6, 0, 321 }, { 7, 0, 1857 }, + { 9, 0, 530 }, { 19, 0, 99 }, { 7, 10, 948 }, { 7, 10, 1042 }, + { 8, 10, 235 }, { 8, 10, 461 }, { 9, 10, 453 }, { 10, 10, 354 }, + { 145, 10, 77 }, { 7, 0, 1104 }, { 11, 0, 269 }, { 11, 0, 539 }, + { 11, 0, 627 }, { 11, 0, 706 }, { 11, 0, 975 }, { 12, 0, 248 }, + { 12, 0, 434 }, { 12, 0, 600 }, { 12, 0, 622 }, { 13, 0, 297 }, + { 13, 0, 485 }, { 14, 0, 69 }, { 14, 0, 409 }, { 143, 0, 108 }, + { 4, 10, 362 }, { 7, 10, 52 }, { 7, 10, 303 }, { 10, 11, 70 }, + { 12, 11, 26 }, { 14, 11, 17 }, { 14, 11, 178 }, { 15, 11, 34 }, + { 149, 11, 12 }, { 11, 0, 977 }, { 141, 0, 507 }, { 9, 0, 34 }, + { 139, 0, 484 }, { 5, 10, 196 }, { 6, 10, 486 }, { 7, 10, 212 }, + { 8, 10, 309 }, { 136, 10, 346 }, { 6, 0, 1700 }, { 7, 0, 26 }, + { 7, 0, 293 }, { 7, 0, 382 }, { 7, 0, 1026 }, { 7, 0, 1087 }, + { 7, 0, 2027 }, { 8, 0, 24 }, { 8, 0, 114 }, { 8, 0, 252 }, + { 8, 0, 727 }, { 8, 0, 729 }, { 9, 0, 30 }, { 9, 0, 199 }, + { 9, 0, 231 }, { 9, 0, 251 }, { 9, 0, 334 }, { 9, 0, 361 }, + { 9, 0, 712 }, { 10, 0, 55 }, { 10, 0, 60 }, { 10, 0, 232 }, + { 10, 0, 332 }, { 10, 0, 384 }, { 10, 0, 396 }, { 10, 0, 504 }, + { 10, 0, 542 }, { 10, 0, 652 }, { 11, 0, 20 }, { 11, 0, 48 }, + { 11, 0, 207 }, { 11, 0, 291 }, { 11, 0, 298 }, { 11, 0, 342 }, + { 11, 0, 365 }, { 11, 0, 394 }, { 11, 0, 620 }, { 11, 0, 705 }, + { 11, 0, 1017 }, { 12, 0, 123 }, { 12, 0, 340 }, { 12, 0, 406 }, + { 12, 0, 643 }, { 13, 0, 61 }, { 13, 0, 269 }, { 13, 0, 311 }, + { 13, 0, 319 }, { 13, 0, 486 }, { 14, 0, 234 }, { 15, 0, 62 }, + { 15, 0, 85 }, { 16, 0, 71 }, { 18, 0, 119 }, { 20, 0, 105 }, + { 135, 10, 1912 }, { 4, 11, 71 }, { 5, 11, 376 }, { 7, 11, 119 }, + { 138, 11, 665 }, { 10, 0, 918 }, { 10, 0, 926 }, { 4, 10, 686 }, + { 136, 11, 55 }, { 138, 10, 625 }, { 136, 10, 706 }, { 132, 11, 479 }, + { 4, 10, 30 }, { 133, 10, 43 }, { 6, 0, 379 }, { 7, 0, 270 }, + { 8, 0, 176 }, { 8, 0, 183 }, { 9, 0, 432 }, { 9, 0, 661 }, + { 12, 0, 247 }, { 12, 0, 617 }, { 18, 0, 125 }, { 7, 11, 607 }, + { 8, 11, 99 }, { 152, 11, 4 }, { 5, 0, 792 }, { 133, 0, 900 }, + { 4, 11, 612 }, { 133, 11, 561 }, { 4, 11, 41 }, { 4, 10, 220 }, + { 5, 11, 74 }, { 7, 10, 1535 }, { 7, 11, 1627 }, { 11, 11, 871 }, + { 140, 11, 619 }, { 135, 0, 1920 }, { 7, 11, 94 }, { 11, 11, 329 }, + { 11, 11, 965 }, { 12, 11, 241 }, { 14, 11, 354 }, { 15, 11, 22 }, + { 148, 11, 63 }, { 9, 11, 209 }, { 137, 11, 300 }, { 134, 0, 771 }, + { 135, 0, 1979 }, { 4, 0, 901 }, { 133, 0, 776 }, { 142, 0, 254 }, + { 133, 11, 98 }, { 9, 11, 16 }, { 141, 11, 386 }, { 133, 11, 984 }, + { 4, 11, 182 }, { 6, 11, 205 }, { 135, 11, 220 }, { 7, 10, 1725 }, + { 7, 10, 1774 }, { 138, 10, 393 }, { 5, 10, 263 }, { 134, 10, 414 }, + { 4, 11, 42 }, { 9, 11, 205 }, { 9, 11, 786 }, { 138, 11, 659 }, + { 14, 0, 140 }, { 148, 0, 41 }, { 8, 0, 440 }, { 10, 0, 359 }, + { 6, 10, 178 }, { 6, 11, 289 }, { 6, 10, 1750 }, { 7, 11, 1670 }, + { 9, 10, 690 }, { 10, 10, 155 }, { 10, 10, 373 }, { 11, 10, 698 }, + { 12, 11, 57 }, { 13, 10, 155 }, { 20, 10, 93 }, { 151, 11, 4 }, + { 4, 0, 37 }, { 5, 0, 334 }, { 7, 0, 1253 }, { 151, 11, 25 }, + { 4, 0, 508 }, { 4, 11, 635 }, { 5, 10, 97 }, { 137, 10, 393 }, + { 139, 11, 533 }, { 4, 0, 640 }, { 133, 0, 513 }, { 134, 10, 1639 }, + { 132, 11, 371 }, { 4, 11, 272 }, { 7, 11, 836 }, { 7, 11, 1651 }, + { 145, 11, 89 }, { 5, 11, 825 }, { 6, 11, 444 }, { 6, 11, 1640 }, + { 136, 11, 308 }, { 4, 10, 191 }, { 7, 10, 934 }, { 8, 10, 647 }, + { 145, 10, 97 }, { 12, 0, 246 }, { 15, 0, 162 }, { 19, 0, 64 }, + { 20, 0, 8 }, { 20, 0, 95 }, { 22, 0, 24 }, { 152, 0, 17 }, + { 4, 0, 533 }, { 5, 10, 165 }, { 9, 10, 346 }, { 138, 10, 655 }, + { 5, 11, 737 }, { 139, 10, 885 }, { 133, 10, 877 }, { 8, 10, 128 }, + { 139, 10, 179 }, { 137, 11, 307 }, { 140, 0, 752 }, { 133, 0, 920 }, + { 135, 0, 1048 }, { 5, 0, 153 }, { 6, 0, 580 }, { 6, 10, 1663 }, + { 7, 10, 132 }, { 7, 10, 1154 }, { 7, 10, 1415 }, { 7, 10, 1507 }, + { 12, 10, 493 }, { 15, 10, 105 }, { 151, 10, 15 }, { 5, 10, 459 }, + { 7, 10, 1073 }, { 8, 10, 241 }, { 136, 10, 334 }, { 138, 0, 391 }, + { 135, 0, 1952 }, { 133, 11, 525 }, { 8, 11, 641 }, { 11, 11, 388 }, + { 140, 11, 580 }, { 142, 0, 126 }, { 134, 0, 640 }, { 132, 0, 483 }, + { 7, 0, 1616 }, { 9, 0, 69 }, { 6, 10, 324 }, { 6, 10, 520 }, + { 7, 10, 338 }, { 7, 10, 1729 }, { 8, 10, 228 }, { 139, 10, 750 }, + { 5, 11, 493 }, { 134, 11, 528 }, { 135, 0, 734 }, { 4, 11, 174 }, + { 135, 11, 911 }, { 138, 0, 480 }, { 9, 0, 495 }, { 146, 0, 104 }, + { 135, 10, 705 }, { 9, 0, 472 }, { 4, 10, 73 }, { 6, 10, 612 }, + { 7, 10, 927 }, { 7, 10, 1330 }, { 7, 10, 1822 }, { 8, 10, 217 }, + { 9, 10, 765 }, { 9, 10, 766 }, { 10, 10, 408 }, { 11, 10, 51 }, + { 11, 10, 793 }, { 12, 10, 266 }, { 15, 10, 158 }, { 20, 10, 89 }, + { 150, 10, 32 }, { 7, 11, 548 }, { 137, 11, 58 }, { 4, 11, 32 }, + { 5, 11, 215 }, { 6, 11, 269 }, { 7, 11, 1782 }, { 7, 11, 1892 }, + { 10, 11, 16 }, { 11, 11, 822 }, { 11, 11, 954 }, { 141, 11, 481 }, + { 132, 0, 874 }, { 9, 0, 229 }, { 5, 10, 389 }, { 136, 10, 636 }, + { 7, 11, 1749 }, { 136, 11, 477 }, { 134, 0, 948 }, { 5, 11, 308 }, + { 135, 11, 1088 }, { 4, 0, 748 }, { 139, 0, 1009 }, { 136, 10, 21 }, + { 6, 0, 555 }, { 135, 0, 485 }, { 5, 11, 126 }, { 8, 11, 297 }, + { 9, 11, 366 }, { 9, 11, 445 }, { 12, 11, 53 }, { 12, 11, 374 }, + { 141, 11, 492 }, { 7, 11, 1551 }, { 139, 11, 361 }, { 136, 0, 193 }, + { 136, 0, 472 }, { 8, 0, 653 }, { 13, 0, 93 }, { 147, 0, 14 }, + { 132, 0, 984 }, { 132, 11, 175 }, { 5, 0, 172 }, { 6, 0, 1971 }, + { 132, 11, 685 }, { 149, 11, 8 }, { 133, 11, 797 }, { 13, 0, 83 }, + { 5, 10, 189 }, { 7, 10, 442 }, { 7, 10, 443 }, { 8, 10, 281 }, + { 12, 10, 174 }, { 141, 10, 261 }, { 134, 0, 1568 }, { 133, 11, 565 }, + { 139, 0, 384 }, { 133, 0, 260 }, { 7, 0, 758 }, { 7, 0, 880 }, + { 7, 0, 1359 }, { 9, 0, 164 }, { 9, 0, 167 }, { 10, 0, 156 }, + { 10, 0, 588 }, { 12, 0, 101 }, { 14, 0, 48 }, { 15, 0, 70 }, + { 6, 10, 2 }, { 7, 10, 1262 }, { 7, 10, 1737 }, { 8, 10, 22 }, + { 8, 10, 270 }, { 8, 10, 612 }, { 9, 10, 312 }, { 9, 10, 436 }, + { 10, 10, 311 }, { 10, 10, 623 }, { 11, 10, 72 }, { 11, 10, 330 }, + { 11, 10, 455 }, { 12, 10, 321 }, { 12, 10, 504 }, { 12, 10, 530 }, + { 12, 10, 543 }, { 13, 10, 17 }, { 13, 10, 156 }, { 13, 10, 334 }, + { 17, 10, 60 }, { 148, 10, 64 }, { 4, 11, 252 }, { 7, 11, 1068 }, + { 10, 11, 434 }, { 11, 11, 228 }, { 11, 11, 426 }, { 13, 11, 231 }, + { 18, 11, 106 }, { 148, 11, 87 }, { 7, 10, 354 }, { 10, 10, 410 }, + { 139, 10, 815 }, { 6, 0, 367 }, { 7, 10, 670 }, { 7, 10, 1327 }, + { 8, 10, 411 }, { 8, 10, 435 }, { 9, 10, 653 }, { 9, 10, 740 }, + { 10, 10, 385 }, { 11, 10, 222 }, { 11, 10, 324 }, { 11, 10, 829 }, + { 140, 10, 611 }, { 7, 0, 1174 }, { 6, 10, 166 }, { 135, 10, 374 }, + { 146, 0, 121 }, { 132, 0, 828 }, { 5, 11, 231 }, { 138, 11, 509 }, + { 7, 11, 601 }, { 9, 11, 277 }, { 9, 11, 674 }, { 10, 11, 178 }, + { 10, 11, 257 }, { 10, 11, 418 }, { 11, 11, 531 }, { 11, 11, 544 }, + { 11, 11, 585 }, { 12, 11, 113 }, { 12, 11, 475 }, { 13, 11, 99 }, + { 142, 11, 428 }, { 134, 0, 1541 }, { 135, 11, 1779 }, { 5, 0, 343 }, + { 134, 10, 398 }, { 135, 10, 50 }, { 135, 11, 1683 }, { 4, 0, 440 }, + { 7, 0, 57 }, { 8, 0, 167 }, { 8, 0, 375 }, { 9, 0, 82 }, + { 9, 0, 561 }, { 9, 0, 744 }, { 10, 0, 620 }, { 137, 11, 744 }, + { 134, 0, 926 }, { 6, 10, 517 }, { 7, 10, 1159 }, { 10, 10, 621 }, + { 139, 10, 192 }, { 137, 0, 827 }, { 8, 0, 194 }, { 136, 0, 756 }, + { 10, 10, 223 }, { 139, 10, 645 }, { 7, 10, 64 }, { 136, 10, 245 }, + { 4, 11, 399 }, { 5, 11, 119 }, { 5, 11, 494 }, { 7, 11, 751 }, + { 137, 11, 556 }, { 132, 0, 808 }, { 135, 0, 22 }, { 7, 10, 1763 }, + { 140, 10, 310 }, { 5, 0, 639 }, { 7, 0, 1249 }, { 11, 0, 896 }, + { 134, 11, 584 }, { 134, 0, 1614 }, { 135, 0, 860 }, { 135, 11, 1121 }, + { 5, 10, 129 }, { 6, 10, 61 }, { 135, 10, 947 }, { 4, 0, 102 }, + { 7, 0, 815 }, { 7, 0, 1699 }, { 139, 0, 964 }, { 13, 10, 505 }, + { 141, 10, 506 }, { 139, 10, 1000 }, { 132, 11, 679 }, { 132, 0, 899 }, + { 132, 0, 569 }, { 5, 11, 694 }, { 137, 11, 714 }, { 136, 0, 795 }, + { 6, 0, 2045 }, { 139, 11, 7 }, { 6, 0, 52 }, { 9, 0, 104 }, + { 9, 0, 559 }, { 12, 0, 308 }, { 147, 0, 87 }, { 4, 0, 301 }, + { 132, 0, 604 }, { 133, 10, 637 }, { 136, 0, 779 }, { 5, 11, 143 }, + { 5, 11, 769 }, { 6, 11, 1760 }, { 7, 11, 682 }, { 7, 11, 1992 }, + { 136, 11, 736 }, { 137, 10, 590 }, { 147, 0, 32 }, { 137, 11, 527 }, + { 5, 10, 280 }, { 135, 10, 1226 }, { 134, 0, 494 }, { 6, 0, 677 }, + { 6, 0, 682 }, { 134, 0, 1044 }, { 133, 10, 281 }, { 135, 10, 1064 }, + { 7, 0, 508 }, { 133, 11, 860 }, { 6, 11, 422 }, { 7, 11, 0 }, + { 7, 11, 1544 }, { 9, 11, 577 }, { 11, 11, 990 }, { 12, 11, 141 }, + { 12, 11, 453 }, { 13, 11, 47 }, { 141, 11, 266 }, { 134, 0, 1014 }, + { 5, 11, 515 }, { 137, 11, 131 }, { 134, 0, 957 }, { 132, 11, 646 }, + { 6, 0, 310 }, { 7, 0, 1849 }, { 8, 0, 72 }, { 8, 0, 272 }, + { 8, 0, 431 }, { 9, 0, 12 }, { 9, 0, 376 }, { 10, 0, 563 }, + { 10, 0, 630 }, { 10, 0, 796 }, { 10, 0, 810 }, { 11, 0, 367 }, + { 11, 0, 599 }, { 11, 0, 686 }, { 140, 0, 672 }, { 7, 0, 570 }, + { 4, 11, 396 }, { 7, 10, 120 }, { 7, 11, 728 }, { 8, 10, 489 }, + { 9, 11, 117 }, { 9, 10, 319 }, { 10, 10, 820 }, { 11, 10, 1004 }, + { 12, 10, 379 }, { 12, 10, 679 }, { 13, 10, 117 }, { 13, 11, 202 }, + { 13, 10, 412 }, { 14, 10, 25 }, { 15, 10, 52 }, { 15, 10, 161 }, + { 16, 10, 47 }, { 20, 11, 51 }, { 149, 10, 2 }, { 6, 11, 121 }, + { 6, 11, 124 }, { 6, 11, 357 }, { 7, 11, 1138 }, { 7, 11, 1295 }, + { 8, 11, 162 }, { 139, 11, 655 }, { 8, 0, 449 }, { 4, 10, 937 }, + { 5, 10, 801 }, { 136, 11, 449 }, { 139, 11, 958 }, { 6, 0, 181 }, + { 7, 0, 537 }, { 8, 0, 64 }, { 9, 0, 127 }, { 10, 0, 496 }, + { 12, 0, 510 }, { 141, 0, 384 }, { 138, 11, 253 }, { 4, 0, 244 }, + { 135, 0, 233 }, { 133, 11, 237 }, { 132, 10, 365 }, { 6, 0, 1650 }, + { 10, 0, 702 }, { 139, 0, 245 }, { 5, 10, 7 }, { 139, 10, 774 }, + { 13, 0, 463 }, { 20, 0, 49 }, { 13, 11, 463 }, { 148, 11, 49 }, + { 4, 10, 734 }, { 5, 10, 662 }, { 134, 10, 430 }, { 4, 10, 746 }, + { 135, 10, 1090 }, { 5, 10, 360 }, { 136, 10, 237 }, { 137, 0, 338 }, + { 143, 11, 10 }, { 7, 11, 571 }, { 138, 11, 366 }, { 134, 0, 1279 }, + { 9, 11, 513 }, { 10, 11, 22 }, { 10, 11, 39 }, { 12, 11, 122 }, + { 140, 11, 187 }, { 133, 0, 896 }, { 146, 0, 178 }, { 134, 0, 695 }, + { 137, 0, 808 }, { 134, 11, 587 }, { 7, 11, 107 }, { 7, 11, 838 }, + { 8, 11, 550 }, { 138, 11, 401 }, { 7, 0, 1117 }, { 136, 0, 539 }, + { 4, 10, 277 }, { 5, 10, 608 }, { 6, 10, 493 }, { 7, 10, 457 }, + { 140, 10, 384 }, { 133, 11, 768 }, { 12, 0, 257 }, { 7, 10, 27 }, + { 135, 10, 316 }, { 140, 0, 1003 }, { 4, 0, 207 }, { 5, 0, 586 }, + { 5, 0, 676 }, { 6, 0, 448 }, { 8, 0, 244 }, { 11, 0, 1 }, + { 13, 0, 3 }, { 16, 0, 54 }, { 17, 0, 4 }, { 18, 0, 13 }, + { 133, 10, 552 }, { 4, 10, 401 }, { 137, 10, 264 }, { 5, 0, 516 }, + { 7, 0, 1883 }, { 135, 11, 1883 }, { 12, 0, 960 }, { 132, 11, 894 }, + { 5, 0, 4 }, { 5, 0, 810 }, { 6, 0, 13 }, { 6, 0, 538 }, + { 6, 0, 1690 }, { 6, 0, 1726 }, { 7, 0, 499 }, { 7, 0, 1819 }, + { 8, 0, 148 }, { 8, 0, 696 }, { 8, 0, 791 }, { 12, 0, 125 }, + { 143, 0, 9 }, { 135, 0, 1268 }, { 11, 0, 30 }, { 14, 0, 315 }, + { 9, 10, 543 }, { 10, 10, 524 }, { 12, 10, 524 }, { 16, 10, 18 }, + { 20, 10, 26 }, { 148, 10, 65 }, { 6, 0, 748 }, { 4, 10, 205 }, + { 5, 10, 623 }, { 7, 10, 104 }, { 136, 10, 519 }, { 11, 0, 542 }, + { 139, 0, 852 }, { 140, 0, 6 }, { 132, 0, 848 }, { 7, 0, 1385 }, + { 11, 0, 582 }, { 11, 0, 650 }, { 11, 0, 901 }, { 11, 0, 949 }, + { 12, 0, 232 }, { 12, 0, 236 }, { 13, 0, 413 }, { 13, 0, 501 }, + { 18, 0, 116 }, { 7, 10, 579 }, { 9, 10, 41 }, { 9, 10, 244 }, + { 9, 10, 669 }, { 10, 10, 5 }, { 11, 10, 861 }, { 11, 10, 951 }, + { 139, 10, 980 }, { 4, 0, 945 }, { 6, 0, 1811 }, { 6, 0, 1845 }, + { 6, 0, 1853 }, { 6, 0, 1858 }, { 8, 0, 862 }, { 12, 0, 782 }, + { 12, 0, 788 }, { 18, 0, 160 }, { 148, 0, 117 }, { 132, 10, 717 }, + { 4, 0, 925 }, { 5, 0, 803 }, { 8, 0, 698 }, { 138, 0, 828 }, + { 134, 0, 1416 }, { 132, 0, 610 }, { 139, 0, 992 }, { 6, 0, 878 }, + { 134, 0, 1477 }, { 135, 0, 1847 }, { 138, 11, 531 }, { 137, 11, 539 }, + { 134, 11, 272 }, { 133, 0, 383 }, { 134, 0, 1404 }, { 132, 10, 489 }, + { 4, 11, 9 }, { 5, 11, 128 }, { 7, 11, 368 }, { 11, 11, 480 }, + { 148, 11, 3 }, { 136, 0, 986 }, { 9, 0, 660 }, { 138, 0, 347 }, + { 135, 10, 892 }, { 136, 11, 682 }, { 7, 0, 572 }, { 9, 0, 592 }, + { 11, 0, 680 }, { 12, 0, 356 }, { 140, 0, 550 }, { 7, 0, 1411 }, + { 138, 11, 527 }, { 4, 11, 2 }, { 7, 11, 545 }, { 135, 11, 894 }, + { 137, 10, 473 }, { 11, 0, 64 }, { 7, 11, 481 }, { 7, 10, 819 }, + { 9, 10, 26 }, { 9, 10, 392 }, { 9, 11, 792 }, { 10, 10, 152 }, + { 10, 10, 226 }, { 12, 10, 276 }, { 12, 10, 426 }, { 12, 10, 589 }, + { 13, 10, 460 }, { 15, 10, 97 }, { 19, 10, 48 }, { 148, 10, 104 }, + { 135, 10, 51 }, { 136, 11, 445 }, { 136, 11, 646 }, { 135, 0, 606 }, + { 132, 10, 674 }, { 6, 0, 1829 }, { 134, 0, 1830 }, { 132, 10, 770 }, + { 5, 10, 79 }, { 7, 10, 1027 }, { 7, 10, 1477 }, { 139, 10, 52 }, + { 5, 11, 530 }, { 142, 11, 113 }, { 134, 10, 1666 }, { 7, 0, 748 }, + { 139, 0, 700 }, { 134, 10, 195 }, { 133, 10, 789 }, { 9, 0, 87 }, + { 10, 0, 365 }, { 4, 10, 251 }, { 4, 10, 688 }, { 7, 10, 513 }, + { 135, 10, 1284 }, { 136, 11, 111 }, { 133, 0, 127 }, { 6, 0, 198 }, + { 140, 0, 83 }, { 133, 11, 556 }, { 133, 10, 889 }, { 4, 10, 160 }, + { 5, 10, 330 }, { 7, 10, 1434 }, { 136, 10, 174 }, { 5, 0, 276 }, + { 6, 0, 55 }, { 7, 0, 1369 }, { 138, 0, 864 }, { 8, 11, 16 }, + { 140, 11, 568 }, { 6, 0, 1752 }, { 136, 0, 726 }, { 135, 0, 1066 }, + { 133, 0, 764 }, { 6, 11, 186 }, { 137, 11, 426 }, { 11, 0, 683 }, + { 139, 11, 683 }, { 6, 0, 309 }, { 7, 0, 331 }, { 138, 0, 550 }, + { 133, 10, 374 }, { 6, 0, 1212 }, { 6, 0, 1852 }, { 7, 0, 1062 }, + { 8, 0, 874 }, { 8, 0, 882 }, { 138, 0, 936 }, { 132, 11, 585 }, + { 134, 0, 1364 }, { 7, 0, 986 }, { 133, 10, 731 }, { 6, 0, 723 }, + { 6, 0, 1408 }, { 138, 0, 381 }, { 135, 0, 1573 }, { 134, 0, 1025 }, + { 4, 10, 626 }, { 5, 10, 642 }, { 6, 10, 425 }, { 10, 10, 202 }, + { 139, 10, 141 }, { 4, 11, 93 }, { 5, 11, 252 }, { 6, 11, 229 }, + { 7, 11, 291 }, { 9, 11, 550 }, { 139, 11, 644 }, { 137, 11, 749 }, + { 137, 11, 162 }, { 132, 11, 381 }, { 135, 0, 1559 }, { 6, 0, 194 }, + { 7, 0, 133 }, { 10, 0, 493 }, { 10, 0, 570 }, { 139, 0, 664 }, + { 5, 0, 24 }, { 5, 0, 569 }, { 6, 0, 3 }, { 6, 0, 119 }, + { 6, 0, 143 }, { 6, 0, 440 }, { 7, 0, 295 }, { 7, 0, 599 }, + { 7, 0, 1686 }, { 7, 0, 1854 }, { 8, 0, 424 }, { 9, 0, 43 }, + { 9, 0, 584 }, { 9, 0, 760 }, { 10, 0, 148 }, { 10, 0, 328 }, + { 11, 0, 159 }, { 11, 0, 253 }, { 11, 0, 506 }, { 12, 0, 487 }, + { 140, 0, 531 }, { 6, 0, 661 }, { 134, 0, 1517 }, { 136, 10, 835 }, + { 151, 10, 17 }, { 5, 0, 14 }, { 5, 0, 892 }, { 6, 0, 283 }, + { 7, 0, 234 }, { 136, 0, 537 }, { 139, 0, 541 }, { 4, 0, 126 }, + { 8, 0, 635 }, { 147, 0, 34 }, { 4, 0, 316 }, { 4, 0, 495 }, + { 135, 0, 1561 }, { 4, 11, 187 }, { 5, 11, 184 }, { 5, 11, 690 }, + { 7, 11, 1869 }, { 138, 11, 756 }, { 139, 11, 783 }, { 4, 0, 998 }, + { 137, 0, 861 }, { 136, 0, 1009 }, { 139, 11, 292 }, { 5, 11, 21 }, + { 6, 11, 77 }, { 6, 11, 157 }, { 7, 11, 974 }, { 7, 11, 1301 }, + { 7, 11, 1339 }, { 7, 11, 1490 }, { 7, 11, 1873 }, { 137, 11, 628 }, + { 7, 11, 1283 }, { 9, 11, 227 }, { 9, 11, 499 }, { 10, 11, 341 }, + { 11, 11, 325 }, { 11, 11, 408 }, { 14, 11, 180 }, { 15, 11, 144 }, + { 18, 11, 47 }, { 147, 11, 49 }, { 4, 0, 64 }, { 5, 0, 352 }, + { 5, 0, 720 }, { 6, 0, 368 }, { 139, 0, 359 }, { 5, 10, 384 }, + { 8, 10, 455 }, { 140, 10, 48 }, { 5, 10, 264 }, { 134, 10, 184 }, + { 7, 0, 1577 }, { 10, 0, 304 }, { 10, 0, 549 }, { 12, 0, 365 }, + { 13, 0, 220 }, { 13, 0, 240 }, { 142, 0, 33 }, { 134, 0, 1107 }, + { 134, 0, 929 }, { 135, 0, 1142 }, { 6, 0, 175 }, { 137, 0, 289 }, + { 5, 0, 432 }, { 133, 0, 913 }, { 6, 0, 279 }, { 7, 0, 219 }, + { 5, 10, 633 }, { 135, 10, 1323 }, { 7, 0, 785 }, { 7, 10, 359 }, + { 8, 10, 243 }, { 140, 10, 175 }, { 139, 0, 595 }, { 132, 10, 105 }, + { 8, 11, 398 }, { 9, 11, 681 }, { 139, 11, 632 }, { 140, 0, 80 }, + { 5, 0, 931 }, { 134, 0, 1698 }, { 142, 11, 241 }, { 134, 11, 20 }, + { 134, 0, 1323 }, { 11, 0, 526 }, { 11, 0, 939 }, { 141, 0, 290 }, + { 5, 0, 774 }, { 6, 0, 780 }, { 6, 0, 1637 }, { 6, 0, 1686 }, + { 6, 0, 1751 }, { 8, 0, 559 }, { 141, 0, 109 }, { 141, 0, 127 }, + { 7, 0, 1167 }, { 11, 0, 934 }, { 13, 0, 391 }, { 17, 0, 76 }, + { 135, 11, 709 }, { 135, 0, 963 }, { 6, 0, 260 }, { 135, 0, 1484 }, + { 134, 0, 573 }, { 4, 10, 758 }, { 139, 11, 941 }, { 135, 10, 1649 }, + { 145, 11, 36 }, { 4, 0, 292 }, { 137, 0, 580 }, { 4, 0, 736 }, + { 5, 0, 871 }, { 6, 0, 1689 }, { 135, 0, 1944 }, { 7, 11, 945 }, + { 11, 11, 713 }, { 139, 11, 744 }, { 134, 0, 1164 }, { 135, 11, 937 }, + { 6, 0, 1922 }, { 9, 0, 982 }, { 15, 0, 173 }, { 15, 0, 178 }, + { 15, 0, 200 }, { 18, 0, 189 }, { 18, 0, 207 }, { 21, 0, 47 }, + { 135, 11, 1652 }, { 7, 0, 1695 }, { 139, 10, 128 }, { 6, 0, 63 }, + { 135, 0, 920 }, { 133, 0, 793 }, { 143, 11, 134 }, { 133, 10, 918 }, + { 5, 0, 67 }, { 6, 0, 62 }, { 6, 0, 374 }, { 135, 0, 1391 }, + { 9, 0, 790 }, { 12, 0, 47 }, { 4, 11, 579 }, { 5, 11, 226 }, + { 5, 11, 323 }, { 135, 11, 960 }, { 10, 11, 784 }, { 141, 11, 191 }, + { 4, 0, 391 }, { 135, 0, 1169 }, { 137, 0, 443 }, { 13, 11, 232 }, + { 146, 11, 35 }, { 132, 10, 340 }, { 132, 0, 271 }, { 137, 11, 313 }, + { 5, 11, 973 }, { 137, 11, 659 }, { 134, 0, 1140 }, { 6, 11, 135 }, + { 135, 11, 1176 }, { 4, 0, 253 }, { 5, 0, 544 }, { 7, 0, 300 }, + { 137, 0, 340 }, { 7, 0, 897 }, { 5, 10, 985 }, { 7, 10, 509 }, + { 145, 10, 96 }, { 138, 11, 735 }, { 135, 10, 1919 }, { 138, 0, 890 }, + { 5, 0, 818 }, { 134, 0, 1122 }, { 5, 0, 53 }, { 5, 0, 541 }, + { 6, 0, 94 }, { 6, 0, 499 }, { 7, 0, 230 }, { 139, 0, 321 }, + { 4, 0, 920 }, { 5, 0, 25 }, { 5, 0, 790 }, { 6, 0, 457 }, + { 7, 0, 853 }, { 8, 0, 788 }, { 142, 11, 31 }, { 132, 10, 247 }, + { 135, 11, 314 }, { 132, 0, 468 }, { 7, 0, 243 }, { 6, 10, 337 }, + { 7, 10, 494 }, { 8, 10, 27 }, { 8, 10, 599 }, { 138, 10, 153 }, + { 4, 10, 184 }, { 5, 10, 390 }, { 7, 10, 618 }, { 7, 10, 1456 }, + { 139, 10, 710 }, { 134, 0, 870 }, { 134, 0, 1238 }, { 134, 0, 1765 }, + { 10, 0, 853 }, { 10, 0, 943 }, { 14, 0, 437 }, { 14, 0, 439 }, + { 14, 0, 443 }, { 14, 0, 446 }, { 14, 0, 452 }, { 14, 0, 469 }, + { 14, 0, 471 }, { 14, 0, 473 }, { 16, 0, 93 }, { 16, 0, 102 }, + { 16, 0, 110 }, { 148, 0, 121 }, { 4, 0, 605 }, { 7, 0, 518 }, + { 7, 0, 1282 }, { 7, 0, 1918 }, { 10, 0, 180 }, { 139, 0, 218 }, + { 133, 0, 822 }, { 4, 0, 634 }, { 11, 0, 916 }, { 142, 0, 419 }, + { 6, 11, 281 }, { 7, 11, 6 }, { 8, 11, 282 }, { 8, 11, 480 }, + { 8, 11, 499 }, { 9, 11, 198 }, { 10, 11, 143 }, { 10, 11, 169 }, + { 10, 11, 211 }, { 10, 11, 417 }, { 10, 11, 574 }, { 11, 11, 147 }, + { 11, 11, 395 }, { 12, 11, 75 }, { 12, 11, 407 }, { 12, 11, 608 }, + { 13, 11, 500 }, { 142, 11, 251 }, { 134, 0, 898 }, { 6, 0, 36 }, + { 7, 0, 658 }, { 8, 0, 454 }, { 150, 11, 48 }, { 133, 11, 674 }, + { 135, 11, 1776 }, { 4, 11, 419 }, { 10, 10, 227 }, { 11, 10, 497 }, + { 11, 10, 709 }, { 140, 10, 415 }, { 6, 10, 360 }, { 7, 10, 1664 }, + { 136, 10, 478 }, { 137, 0, 806 }, { 12, 11, 508 }, { 14, 11, 102 }, + { 14, 11, 226 }, { 144, 11, 57 }, { 135, 11, 1123 }, { 4, 11, 138 }, + { 7, 11, 1012 }, { 7, 11, 1280 }, { 137, 11, 76 }, { 5, 11, 29 }, + { 140, 11, 638 }, { 136, 10, 699 }, { 134, 0, 1326 }, { 132, 0, 104 }, + { 135, 11, 735 }, { 132, 10, 739 }, { 134, 0, 1331 }, { 7, 0, 260 }, + { 135, 11, 260 }, { 135, 11, 1063 }, { 7, 0, 45 }, { 9, 0, 542 }, + { 9, 0, 566 }, { 10, 0, 728 }, { 137, 10, 869 }, { 4, 10, 67 }, + { 5, 10, 422 }, { 7, 10, 1037 }, { 7, 10, 1289 }, { 7, 10, 1555 }, + { 9, 10, 741 }, { 145, 10, 108 }, { 139, 0, 263 }, { 134, 0, 1516 }, + { 14, 0, 146 }, { 15, 0, 42 }, { 16, 0, 23 }, { 17, 0, 86 }, + { 146, 0, 17 }, { 138, 0, 468 }, { 136, 0, 1005 }, { 4, 11, 17 }, + { 5, 11, 23 }, { 7, 11, 995 }, { 11, 11, 383 }, { 11, 11, 437 }, + { 12, 11, 460 }, { 140, 11, 532 }, { 7, 0, 87 }, { 142, 0, 288 }, + { 138, 10, 96 }, { 135, 11, 626 }, { 144, 10, 26 }, { 7, 0, 988 }, + { 7, 0, 1939 }, { 9, 0, 64 }, { 9, 0, 502 }, { 12, 0, 22 }, + { 12, 0, 34 }, { 13, 0, 12 }, { 13, 0, 234 }, { 147, 0, 77 }, + { 13, 0, 133 }, { 8, 10, 203 }, { 11, 10, 823 }, { 11, 10, 846 }, + { 12, 10, 482 }, { 13, 10, 277 }, { 13, 10, 302 }, { 13, 10, 464 }, + { 14, 10, 205 }, { 142, 10, 221 }, { 4, 10, 449 }, { 133, 10, 718 }, + { 135, 0, 141 }, { 6, 0, 1842 }, { 136, 0, 872 }, { 8, 11, 70 }, + { 12, 11, 171 }, { 141, 11, 272 }, { 4, 10, 355 }, { 6, 10, 311 }, + { 9, 10, 256 }, { 138, 10, 404 }, { 132, 0, 619 }, { 137, 0, 261 }, + { 10, 11, 233 }, { 10, 10, 758 }, { 139, 11, 76 }, { 5, 0, 246 }, + { 8, 0, 189 }, { 9, 0, 355 }, { 9, 0, 512 }, { 10, 0, 124 }, + { 10, 0, 453 }, { 11, 0, 143 }, { 11, 0, 416 }, { 11, 0, 859 }, + { 141, 0, 341 }, { 134, 11, 442 }, { 133, 10, 827 }, { 5, 10, 64 }, + { 140, 10, 581 }, { 4, 10, 442 }, { 7, 10, 1047 }, { 7, 10, 1352 }, + { 135, 10, 1643 }, { 134, 11, 1709 }, { 5, 0, 678 }, { 6, 0, 305 }, + { 7, 0, 775 }, { 7, 0, 1065 }, { 133, 10, 977 }, { 11, 11, 69 }, + { 12, 11, 105 }, { 12, 11, 117 }, { 13, 11, 213 }, { 14, 11, 13 }, + { 14, 11, 62 }, { 14, 11, 177 }, { 14, 11, 421 }, { 15, 11, 19 }, + { 146, 11, 141 }, { 137, 11, 309 }, { 5, 0, 35 }, { 7, 0, 862 }, + { 7, 0, 1886 }, { 138, 0, 179 }, { 136, 0, 285 }, { 132, 0, 517 }, + { 7, 11, 976 }, { 9, 11, 146 }, { 10, 11, 206 }, { 10, 11, 596 }, + { 13, 11, 218 }, { 142, 11, 153 }, { 132, 10, 254 }, { 6, 0, 214 }, + { 12, 0, 540 }, { 4, 10, 275 }, { 7, 10, 1219 }, { 140, 10, 376 }, + { 8, 0, 667 }, { 11, 0, 403 }, { 146, 0, 83 }, { 12, 0, 74 }, + { 10, 11, 648 }, { 11, 11, 671 }, { 143, 11, 46 }, { 135, 0, 125 }, + { 134, 10, 1753 }, { 133, 0, 761 }, { 6, 0, 912 }, { 4, 11, 518 }, + { 6, 10, 369 }, { 6, 10, 502 }, { 7, 10, 1036 }, { 7, 11, 1136 }, + { 8, 10, 348 }, { 9, 10, 452 }, { 10, 10, 26 }, { 11, 10, 224 }, + { 11, 10, 387 }, { 11, 10, 772 }, { 12, 10, 95 }, { 12, 10, 629 }, + { 13, 10, 195 }, { 13, 10, 207 }, { 13, 10, 241 }, { 14, 10, 260 }, + { 14, 10, 270 }, { 143, 10, 140 }, { 10, 0, 131 }, { 140, 0, 72 }, + { 132, 10, 269 }, { 5, 10, 480 }, { 7, 10, 532 }, { 7, 10, 1197 }, + { 7, 10, 1358 }, { 8, 10, 291 }, { 11, 10, 349 }, { 142, 10, 396 }, + { 8, 11, 689 }, { 137, 11, 863 }, { 8, 0, 333 }, { 138, 0, 182 }, + { 4, 11, 18 }, { 7, 11, 145 }, { 7, 11, 444 }, { 7, 11, 1278 }, + { 8, 11, 49 }, { 8, 11, 400 }, { 9, 11, 71 }, { 9, 11, 250 }, + { 10, 11, 459 }, { 12, 11, 160 }, { 144, 11, 24 }, { 14, 11, 35 }, + { 142, 11, 191 }, { 135, 11, 1864 }, { 135, 0, 1338 }, { 148, 10, 15 }, + { 14, 0, 94 }, { 15, 0, 65 }, { 16, 0, 4 }, { 16, 0, 77 }, + { 16, 0, 80 }, { 145, 0, 5 }, { 12, 11, 82 }, { 143, 11, 36 }, + { 133, 11, 1010 }, { 133, 0, 449 }, { 133, 0, 646 }, { 7, 0, 86 }, + { 8, 0, 103 }, { 135, 10, 657 }, { 7, 0, 2028 }, { 138, 0, 641 }, + { 136, 10, 533 }, { 134, 0, 1 }, { 139, 11, 970 }, { 5, 11, 87 }, + { 7, 11, 313 }, { 7, 11, 1103 }, { 10, 11, 112 }, { 10, 11, 582 }, + { 11, 11, 389 }, { 11, 11, 813 }, { 12, 11, 385 }, { 13, 11, 286 }, + { 14, 11, 124 }, { 146, 11, 108 }, { 6, 0, 869 }, { 132, 11, 267 }, + { 6, 0, 277 }, { 7, 0, 1274 }, { 7, 0, 1386 }, { 146, 0, 87 }, + { 6, 0, 187 }, { 7, 0, 39 }, { 7, 0, 1203 }, { 8, 0, 380 }, + { 14, 0, 117 }, { 149, 0, 28 }, { 4, 10, 211 }, { 4, 10, 332 }, + { 5, 10, 335 }, { 6, 10, 238 }, { 7, 10, 269 }, { 7, 10, 811 }, + { 7, 10, 1797 }, { 8, 10, 836 }, { 9, 10, 507 }, { 141, 10, 242 }, + { 4, 0, 785 }, { 5, 0, 368 }, { 6, 0, 297 }, { 7, 0, 793 }, + { 139, 0, 938 }, { 7, 0, 464 }, { 8, 0, 558 }, { 11, 0, 105 }, + { 12, 0, 231 }, { 14, 0, 386 }, { 15, 0, 102 }, { 148, 0, 75 }, + { 133, 10, 1009 }, { 8, 0, 877 }, { 140, 0, 731 }, { 139, 11, 289 }, + { 10, 11, 249 }, { 139, 11, 209 }, { 132, 11, 561 }, { 134, 0, 1608 }, + { 132, 11, 760 }, { 134, 0, 1429 }, { 9, 11, 154 }, { 140, 11, 485 }, + { 5, 10, 228 }, { 6, 10, 203 }, { 7, 10, 156 }, { 8, 10, 347 }, + { 137, 10, 265 }, { 7, 0, 1010 }, { 11, 0, 733 }, { 11, 0, 759 }, + { 13, 0, 34 }, { 14, 0, 427 }, { 146, 0, 45 }, { 7, 10, 1131 }, + { 135, 10, 1468 }, { 136, 11, 255 }, { 7, 0, 1656 }, { 9, 0, 369 }, + { 10, 0, 338 }, { 10, 0, 490 }, { 11, 0, 154 }, { 11, 0, 545 }, + { 11, 0, 775 }, { 13, 0, 77 }, { 141, 0, 274 }, { 133, 11, 621 }, + { 134, 0, 1038 }, { 4, 11, 368 }, { 135, 11, 641 }, { 6, 0, 2010 }, + { 8, 0, 979 }, { 8, 0, 985 }, { 10, 0, 951 }, { 138, 0, 1011 }, + { 134, 0, 1005 }, { 19, 0, 121 }, { 5, 10, 291 }, { 5, 10, 318 }, + { 7, 10, 765 }, { 9, 10, 389 }, { 140, 10, 548 }, { 5, 0, 20 }, + { 6, 0, 298 }, { 7, 0, 659 }, { 137, 0, 219 }, { 7, 0, 1440 }, + { 11, 0, 854 }, { 11, 0, 872 }, { 11, 0, 921 }, { 12, 0, 551 }, + { 13, 0, 472 }, { 142, 0, 367 }, { 5, 0, 490 }, { 6, 0, 615 }, + { 6, 0, 620 }, { 135, 0, 683 }, { 6, 0, 1070 }, { 134, 0, 1597 }, + { 139, 0, 522 }, { 132, 0, 439 }, { 136, 0, 669 }, { 6, 0, 766 }, + { 6, 0, 1143 }, { 6, 0, 1245 }, { 10, 10, 525 }, { 139, 10, 82 }, + { 9, 11, 92 }, { 147, 11, 91 }, { 6, 0, 668 }, { 134, 0, 1218 }, + { 6, 11, 525 }, { 9, 11, 876 }, { 140, 11, 284 }, { 132, 0, 233 }, + { 136, 0, 547 }, { 132, 10, 422 }, { 5, 10, 355 }, { 145, 10, 0 }, + { 6, 11, 300 }, { 135, 11, 1515 }, { 4, 0, 482 }, { 137, 10, 905 }, + { 4, 0, 886 }, { 7, 0, 346 }, { 133, 11, 594 }, { 133, 10, 865 }, + { 5, 10, 914 }, { 134, 10, 1625 }, { 135, 0, 334 }, { 5, 0, 795 }, + { 6, 0, 1741 }, { 133, 10, 234 }, { 135, 10, 1383 }, { 6, 11, 1641 }, + { 136, 11, 820 }, { 135, 0, 371 }, { 7, 11, 1313 }, { 138, 11, 660 }, + { 135, 10, 1312 }, { 135, 0, 622 }, { 7, 0, 625 }, { 135, 0, 1750 }, + { 135, 0, 339 }, { 4, 0, 203 }, { 135, 0, 1936 }, { 15, 0, 29 }, + { 16, 0, 38 }, { 15, 11, 29 }, { 144, 11, 38 }, { 5, 0, 338 }, + { 135, 0, 1256 }, { 135, 10, 1493 }, { 10, 0, 130 }, { 6, 10, 421 }, + { 7, 10, 61 }, { 7, 10, 1540 }, { 138, 10, 501 }, { 6, 11, 389 }, + { 7, 11, 149 }, { 9, 11, 142 }, { 138, 11, 94 }, { 137, 10, 341 }, + { 11, 0, 678 }, { 12, 0, 307 }, { 142, 10, 98 }, { 6, 11, 8 }, + { 7, 11, 1881 }, { 136, 11, 91 }, { 135, 0, 2044 }, { 6, 0, 770 }, + { 6, 0, 802 }, { 6, 0, 812 }, { 7, 0, 311 }, { 9, 0, 308 }, + { 12, 0, 255 }, { 6, 10, 102 }, { 7, 10, 72 }, { 15, 10, 142 }, + { 147, 10, 67 }, { 151, 10, 30 }, { 135, 10, 823 }, { 135, 0, 1266 }, + { 135, 11, 1746 }, { 135, 10, 1870 }, { 4, 0, 400 }, { 5, 0, 267 }, + { 135, 0, 232 }, { 7, 11, 24 }, { 11, 11, 542 }, { 139, 11, 852 }, + { 135, 11, 1739 }, { 4, 11, 503 }, { 135, 11, 1661 }, { 5, 11, 130 }, + { 7, 11, 1314 }, { 9, 11, 610 }, { 10, 11, 718 }, { 11, 11, 601 }, + { 11, 11, 819 }, { 11, 11, 946 }, { 140, 11, 536 }, { 10, 11, 149 }, + { 11, 11, 280 }, { 142, 11, 336 }, { 7, 0, 739 }, { 11, 0, 690 }, + { 7, 11, 1946 }, { 8, 10, 48 }, { 8, 10, 88 }, { 8, 10, 582 }, + { 8, 10, 681 }, { 9, 10, 373 }, { 9, 10, 864 }, { 11, 10, 157 }, + { 11, 10, 843 }, { 148, 10, 27 }, { 134, 0, 990 }, { 4, 10, 88 }, + { 5, 10, 137 }, { 5, 10, 174 }, { 5, 10, 777 }, { 6, 10, 1664 }, + { 6, 10, 1725 }, { 7, 10, 77 }, { 7, 10, 426 }, { 7, 10, 1317 }, + { 7, 10, 1355 }, { 8, 10, 126 }, { 8, 10, 563 }, { 9, 10, 523 }, + { 9, 10, 750 }, { 10, 10, 310 }, { 10, 10, 836 }, { 11, 10, 42 }, + { 11, 10, 318 }, { 11, 10, 731 }, { 12, 10, 68 }, { 12, 10, 92 }, + { 12, 10, 507 }, { 12, 10, 692 }, { 13, 10, 81 }, { 13, 10, 238 }, + { 13, 10, 374 }, { 14, 10, 436 }, { 18, 10, 138 }, { 19, 10, 78 }, + { 19, 10, 111 }, { 20, 10, 55 }, { 20, 10, 77 }, { 148, 10, 92 }, + { 141, 10, 418 }, { 7, 0, 1831 }, { 132, 10, 938 }, { 6, 0, 776 }, + { 134, 0, 915 }, { 138, 10, 351 }, { 5, 11, 348 }, { 6, 11, 522 }, + { 6, 10, 1668 }, { 7, 10, 1499 }, { 8, 10, 117 }, { 9, 10, 314 }, + { 138, 10, 174 }, { 135, 10, 707 }, { 132, 0, 613 }, { 133, 10, 403 }, + { 132, 11, 392 }, { 5, 11, 433 }, { 9, 11, 633 }, { 139, 11, 629 }, + { 133, 0, 763 }, { 132, 0, 878 }, { 132, 0, 977 }, { 132, 0, 100 }, + { 6, 0, 463 }, { 4, 10, 44 }, { 5, 10, 311 }, { 7, 10, 639 }, + { 7, 10, 762 }, { 7, 10, 1827 }, { 9, 10, 8 }, { 9, 10, 462 }, + { 148, 10, 83 }, { 134, 11, 234 }, { 4, 10, 346 }, { 7, 10, 115 }, + { 9, 10, 180 }, { 9, 10, 456 }, { 138, 10, 363 }, { 5, 0, 362 }, + { 5, 0, 443 }, { 6, 0, 318 }, { 7, 0, 1019 }, { 139, 0, 623 }, + { 5, 0, 463 }, { 8, 0, 296 }, { 7, 11, 140 }, { 7, 11, 1950 }, + { 8, 11, 680 }, { 11, 11, 817 }, { 147, 11, 88 }, { 7, 11, 1222 }, + { 138, 11, 386 }, { 142, 0, 137 }, { 132, 0, 454 }, { 7, 0, 1914 }, + { 6, 11, 5 }, { 7, 10, 1051 }, { 9, 10, 545 }, { 11, 11, 249 }, + { 12, 11, 313 }, { 16, 11, 66 }, { 145, 11, 26 }, { 135, 0, 1527 }, + { 145, 0, 58 }, { 148, 11, 59 }, { 5, 0, 48 }, { 5, 0, 404 }, + { 6, 0, 557 }, { 7, 0, 458 }, { 8, 0, 597 }, { 10, 0, 455 }, + { 10, 0, 606 }, { 11, 0, 49 }, { 11, 0, 548 }, { 12, 0, 476 }, + { 13, 0, 18 }, { 141, 0, 450 }, { 5, 11, 963 }, { 134, 11, 1773 }, + { 133, 0, 729 }, { 138, 11, 586 }, { 5, 0, 442 }, { 135, 0, 1984 }, + { 134, 0, 449 }, { 144, 0, 40 }, { 4, 0, 853 }, { 7, 11, 180 }, + { 8, 11, 509 }, { 136, 11, 792 }, { 6, 10, 185 }, { 7, 10, 1899 }, + { 9, 10, 875 }, { 139, 10, 673 }, { 134, 11, 524 }, { 12, 0, 227 }, + { 4, 10, 327 }, { 5, 10, 478 }, { 7, 10, 1332 }, { 136, 10, 753 }, + { 6, 0, 1491 }, { 5, 10, 1020 }, { 133, 10, 1022 }, { 4, 10, 103 }, + { 133, 10, 401 }, { 132, 11, 931 }, { 4, 10, 499 }, { 135, 10, 1421 }, + { 5, 0, 55 }, { 7, 0, 376 }, { 140, 0, 161 }, { 133, 0, 450 }, + { 6, 0, 1174 }, { 134, 0, 1562 }, { 10, 0, 62 }, { 13, 0, 400 }, + { 135, 11, 1837 }, { 140, 0, 207 }, { 135, 0, 869 }, { 4, 11, 773 }, + { 5, 11, 618 }, { 137, 11, 756 }, { 132, 10, 96 }, { 4, 0, 213 }, + { 7, 0, 223 }, { 8, 0, 80 }, { 135, 10, 968 }, { 4, 11, 90 }, + { 5, 11, 337 }, { 5, 11, 545 }, { 7, 11, 754 }, { 9, 11, 186 }, + { 10, 11, 72 }, { 10, 11, 782 }, { 11, 11, 513 }, { 11, 11, 577 }, + { 11, 11, 610 }, { 11, 11, 889 }, { 11, 11, 961 }, { 12, 11, 354 }, + { 12, 11, 362 }, { 12, 11, 461 }, { 12, 11, 595 }, { 13, 11, 79 }, + { 143, 11, 121 }, { 7, 0, 381 }, { 7, 0, 806 }, { 7, 0, 820 }, + { 8, 0, 354 }, { 8, 0, 437 }, { 8, 0, 787 }, { 9, 0, 657 }, + { 10, 0, 58 }, { 10, 0, 339 }, { 10, 0, 749 }, { 11, 0, 914 }, + { 12, 0, 162 }, { 13, 0, 75 }, { 14, 0, 106 }, { 14, 0, 198 }, + { 14, 0, 320 }, { 14, 0, 413 }, { 146, 0, 43 }, { 136, 0, 747 }, + { 136, 0, 954 }, { 134, 0, 1073 }, { 135, 0, 556 }, { 7, 11, 151 }, + { 9, 11, 329 }, { 139, 11, 254 }, { 5, 0, 692 }, { 134, 0, 1395 }, + { 6, 10, 563 }, { 137, 10, 224 }, { 134, 0, 191 }, { 132, 0, 804 }, + { 9, 11, 187 }, { 10, 11, 36 }, { 17, 11, 44 }, { 146, 11, 64 }, + { 7, 11, 165 }, { 7, 11, 919 }, { 136, 11, 517 }, { 4, 11, 506 }, + { 5, 11, 295 }, { 7, 11, 1680 }, { 15, 11, 14 }, { 144, 11, 5 }, + { 4, 0, 706 }, { 6, 0, 162 }, { 7, 0, 1960 }, { 136, 0, 831 }, + { 135, 11, 1376 }, { 7, 11, 987 }, { 9, 11, 688 }, { 10, 11, 522 }, + { 11, 11, 788 }, { 140, 11, 566 }, { 150, 0, 35 }, { 138, 0, 426 }, + { 135, 0, 1235 }, { 135, 11, 1741 }, { 7, 11, 389 }, { 7, 11, 700 }, + { 7, 11, 940 }, { 8, 11, 514 }, { 9, 11, 116 }, { 9, 11, 535 }, + { 10, 11, 118 }, { 11, 11, 107 }, { 11, 11, 148 }, { 11, 11, 922 }, + { 12, 11, 254 }, { 12, 11, 421 }, { 142, 11, 238 }, { 134, 0, 1234 }, + { 132, 11, 743 }, { 4, 10, 910 }, { 5, 10, 832 }, { 135, 11, 1335 }, + { 141, 0, 96 }, { 135, 11, 185 }, { 146, 0, 149 }, { 4, 0, 204 }, + { 137, 0, 902 }, { 4, 11, 784 }, { 133, 11, 745 }, { 136, 0, 833 }, + { 136, 0, 949 }, { 7, 0, 366 }, { 9, 0, 287 }, { 12, 0, 199 }, + { 12, 0, 556 }, { 12, 0, 577 }, { 5, 11, 81 }, { 7, 11, 146 }, + { 7, 11, 1342 }, { 7, 11, 1446 }, { 8, 11, 53 }, { 8, 11, 561 }, + { 8, 11, 694 }, { 8, 11, 754 }, { 9, 11, 97 }, { 9, 11, 115 }, + { 9, 11, 894 }, { 10, 11, 462 }, { 10, 11, 813 }, { 11, 11, 230 }, + { 11, 11, 657 }, { 11, 11, 699 }, { 11, 11, 748 }, { 12, 11, 119 }, + { 12, 11, 200 }, { 12, 11, 283 }, { 14, 11, 273 }, { 145, 11, 15 }, + { 5, 11, 408 }, { 137, 11, 747 }, { 9, 11, 498 }, { 140, 11, 181 }, + { 6, 0, 2020 }, { 136, 0, 992 }, { 5, 0, 356 }, { 135, 0, 224 }, + { 134, 0, 784 }, { 7, 0, 630 }, { 9, 0, 567 }, { 11, 0, 150 }, + { 11, 0, 444 }, { 13, 0, 119 }, { 8, 10, 528 }, { 137, 10, 348 }, + { 134, 0, 539 }, { 4, 10, 20 }, { 133, 10, 616 }, { 142, 0, 27 }, + { 7, 11, 30 }, { 8, 11, 86 }, { 8, 11, 315 }, { 8, 11, 700 }, + { 9, 11, 576 }, { 9, 11, 858 }, { 11, 11, 310 }, { 11, 11, 888 }, + { 11, 11, 904 }, { 12, 11, 361 }, { 141, 11, 248 }, { 138, 11, 839 }, + { 134, 0, 755 }, { 134, 0, 1063 }, { 7, 10, 1091 }, { 135, 10, 1765 }, + { 134, 11, 428 }, { 7, 11, 524 }, { 8, 11, 169 }, { 8, 11, 234 }, + { 9, 11, 480 }, { 138, 11, 646 }, { 139, 0, 814 }, { 7, 11, 1462 }, + { 139, 11, 659 }, { 4, 10, 26 }, { 5, 10, 429 }, { 6, 10, 245 }, + { 7, 10, 704 }, { 7, 10, 1379 }, { 135, 10, 1474 }, { 7, 11, 1205 }, + { 138, 11, 637 }, { 139, 11, 803 }, { 132, 10, 621 }, { 136, 0, 987 }, + { 4, 11, 266 }, { 8, 11, 4 }, { 9, 11, 39 }, { 10, 11, 166 }, + { 11, 11, 918 }, { 12, 11, 635 }, { 20, 11, 10 }, { 22, 11, 27 }, + { 150, 11, 43 }, { 4, 0, 235 }, { 135, 0, 255 }, { 4, 0, 194 }, + { 5, 0, 584 }, { 6, 0, 384 }, { 7, 0, 583 }, { 10, 0, 761 }, + { 11, 0, 760 }, { 139, 0, 851 }, { 133, 10, 542 }, { 134, 0, 1086 }, + { 133, 10, 868 }, { 8, 0, 1016 }, { 136, 0, 1018 }, { 7, 0, 1396 }, + { 7, 11, 1396 }, { 136, 10, 433 }, { 135, 10, 1495 }, { 138, 10, 215 }, + { 141, 10, 124 }, { 7, 11, 157 }, { 8, 11, 279 }, { 9, 11, 759 }, + { 16, 11, 31 }, { 16, 11, 39 }, { 16, 11, 75 }, { 18, 11, 24 }, + { 20, 11, 42 }, { 152, 11, 1 }, { 5, 0, 562 }, { 134, 11, 604 }, + { 134, 0, 913 }, { 5, 0, 191 }, { 137, 0, 271 }, { 4, 0, 470 }, + { 6, 0, 153 }, { 7, 0, 1503 }, { 7, 0, 1923 }, { 10, 0, 701 }, + { 11, 0, 132 }, { 11, 0, 227 }, { 11, 0, 320 }, { 11, 0, 436 }, + { 11, 0, 525 }, { 11, 0, 855 }, { 11, 0, 873 }, { 12, 0, 41 }, + { 12, 0, 286 }, { 13, 0, 103 }, { 13, 0, 284 }, { 14, 0, 255 }, + { 14, 0, 262 }, { 15, 0, 117 }, { 143, 0, 127 }, { 7, 0, 475 }, + { 12, 0, 45 }, { 147, 10, 112 }, { 132, 11, 567 }, { 137, 11, 859 }, + { 6, 0, 713 }, { 6, 0, 969 }, { 6, 0, 1290 }, { 134, 0, 1551 }, + { 133, 0, 327 }, { 6, 0, 552 }, { 6, 0, 1292 }, { 7, 0, 1754 }, + { 137, 0, 604 }, { 4, 0, 223 }, { 6, 0, 359 }, { 11, 0, 3 }, + { 13, 0, 108 }, { 14, 0, 89 }, { 16, 0, 22 }, { 5, 11, 762 }, + { 7, 11, 1880 }, { 9, 11, 680 }, { 139, 11, 798 }, { 5, 0, 80 }, + { 6, 0, 405 }, { 7, 0, 403 }, { 7, 0, 1502 }, { 8, 0, 456 }, + { 9, 0, 487 }, { 9, 0, 853 }, { 9, 0, 889 }, { 10, 0, 309 }, + { 11, 0, 721 }, { 11, 0, 994 }, { 12, 0, 430 }, { 141, 0, 165 }, + { 133, 11, 298 }, { 132, 10, 647 }, { 134, 0, 2016 }, { 18, 10, 10 }, + { 146, 11, 10 }, { 4, 0, 453 }, { 5, 0, 887 }, { 6, 0, 535 }, + { 8, 0, 6 }, { 8, 0, 543 }, { 136, 0, 826 }, { 136, 0, 975 }, + { 10, 0, 961 }, { 138, 0, 962 }, { 138, 10, 220 }, { 6, 0, 1891 }, + { 6, 0, 1893 }, { 9, 0, 916 }, { 9, 0, 965 }, { 9, 0, 972 }, + { 12, 0, 801 }, { 12, 0, 859 }, { 12, 0, 883 }, { 15, 0, 226 }, + { 149, 0, 51 }, { 132, 10, 109 }, { 135, 11, 267 }, { 7, 11, 92 }, + { 7, 11, 182 }, { 8, 11, 453 }, { 9, 11, 204 }, { 11, 11, 950 }, + { 12, 11, 94 }, { 12, 11, 644 }, { 16, 11, 20 }, { 16, 11, 70 }, + { 16, 11, 90 }, { 147, 11, 55 }, { 134, 10, 1746 }, { 6, 11, 71 }, + { 7, 11, 845 }, { 7, 11, 1308 }, { 8, 11, 160 }, { 137, 11, 318 }, + { 5, 0, 101 }, { 6, 0, 88 }, { 7, 0, 263 }, { 7, 0, 628 }, + { 7, 0, 1677 }, { 8, 0, 349 }, { 9, 0, 100 }, { 10, 0, 677 }, + { 14, 0, 169 }, { 14, 0, 302 }, { 14, 0, 313 }, { 15, 0, 48 }, + { 15, 0, 84 }, { 7, 11, 237 }, { 8, 11, 664 }, { 9, 11, 42 }, + { 9, 11, 266 }, { 9, 11, 380 }, { 9, 11, 645 }, { 10, 11, 177 }, + { 138, 11, 276 }, { 138, 11, 69 }, { 4, 0, 310 }, { 7, 0, 708 }, + { 7, 0, 996 }, { 9, 0, 795 }, { 10, 0, 390 }, { 10, 0, 733 }, + { 11, 0, 451 }, { 12, 0, 249 }, { 14, 0, 115 }, { 14, 0, 286 }, + { 143, 0, 100 }, { 5, 0, 587 }, { 4, 10, 40 }, { 10, 10, 67 }, + { 11, 10, 117 }, { 11, 10, 768 }, { 139, 10, 935 }, { 6, 0, 1942 }, + { 7, 0, 512 }, { 136, 0, 983 }, { 7, 10, 992 }, { 8, 10, 301 }, + { 9, 10, 722 }, { 12, 10, 63 }, { 13, 10, 29 }, { 14, 10, 161 }, + { 143, 10, 18 }, { 136, 11, 76 }, { 139, 10, 923 }, { 134, 0, 645 }, + { 134, 0, 851 }, { 4, 0, 498 }, { 132, 11, 293 }, { 7, 0, 217 }, + { 8, 0, 140 }, { 10, 0, 610 }, { 14, 11, 352 }, { 17, 11, 53 }, + { 18, 11, 146 }, { 18, 11, 152 }, { 19, 11, 11 }, { 150, 11, 54 }, + { 134, 0, 1448 }, { 138, 11, 841 }, { 133, 0, 905 }, { 4, 11, 605 }, + { 7, 11, 518 }, { 7, 11, 1282 }, { 7, 11, 1918 }, { 10, 11, 180 }, + { 139, 11, 218 }, { 139, 11, 917 }, { 135, 10, 825 }, { 140, 10, 328 }, + { 4, 0, 456 }, { 7, 0, 105 }, { 7, 0, 358 }, { 7, 0, 1637 }, + { 8, 0, 643 }, { 139, 0, 483 }, { 134, 0, 792 }, { 6, 11, 96 }, + { 135, 11, 1426 }, { 137, 11, 691 }, { 4, 11, 651 }, { 133, 11, 289 }, + { 7, 11, 688 }, { 8, 11, 35 }, { 9, 11, 511 }, { 10, 11, 767 }, + { 147, 11, 118 }, { 150, 0, 56 }, { 5, 0, 243 }, { 5, 0, 535 }, + { 6, 10, 204 }, { 10, 10, 320 }, { 10, 10, 583 }, { 13, 10, 502 }, + { 14, 10, 72 }, { 14, 10, 274 }, { 14, 10, 312 }, { 14, 10, 344 }, + { 15, 10, 159 }, { 16, 10, 62 }, { 16, 10, 69 }, { 17, 10, 30 }, + { 18, 10, 42 }, { 18, 10, 53 }, { 18, 10, 84 }, { 18, 10, 140 }, + { 19, 10, 68 }, { 19, 10, 85 }, { 20, 10, 5 }, { 20, 10, 45 }, + { 20, 10, 101 }, { 22, 10, 7 }, { 150, 10, 20 }, { 4, 10, 558 }, + { 6, 10, 390 }, { 7, 10, 162 }, { 7, 10, 689 }, { 9, 10, 360 }, + { 138, 10, 653 }, { 146, 11, 23 }, { 135, 0, 1748 }, { 5, 10, 856 }, + { 6, 10, 1672 }, { 6, 10, 1757 }, { 134, 10, 1781 }, { 5, 0, 539 }, + { 5, 0, 754 }, { 6, 0, 876 }, { 132, 11, 704 }, { 135, 11, 1078 }, + { 5, 10, 92 }, { 10, 10, 736 }, { 140, 10, 102 }, { 17, 0, 91 }, + { 5, 10, 590 }, { 137, 10, 213 }, { 134, 0, 1565 }, { 6, 0, 91 }, + { 135, 0, 435 }, { 4, 0, 939 }, { 140, 0, 792 }, { 134, 0, 1399 }, + { 4, 0, 16 }, { 5, 0, 316 }, { 5, 0, 842 }, { 6, 0, 370 }, + { 6, 0, 1778 }, { 8, 0, 166 }, { 11, 0, 812 }, { 12, 0, 206 }, + { 12, 0, 351 }, { 14, 0, 418 }, { 16, 0, 15 }, { 16, 0, 34 }, + { 18, 0, 3 }, { 19, 0, 3 }, { 19, 0, 7 }, { 20, 0, 4 }, + { 21, 0, 21 }, { 4, 11, 720 }, { 133, 11, 306 }, { 144, 0, 95 }, + { 133, 11, 431 }, { 132, 11, 234 }, { 135, 0, 551 }, { 4, 0, 999 }, + { 6, 0, 1966 }, { 134, 0, 2042 }, { 7, 0, 619 }, { 10, 0, 547 }, + { 11, 0, 122 }, { 12, 0, 601 }, { 15, 0, 7 }, { 148, 0, 20 }, + { 5, 11, 464 }, { 6, 11, 236 }, { 7, 11, 276 }, { 7, 11, 696 }, + { 7, 11, 914 }, { 7, 11, 1108 }, { 7, 11, 1448 }, { 9, 11, 15 }, + { 9, 11, 564 }, { 10, 11, 14 }, { 12, 11, 565 }, { 13, 11, 449 }, + { 14, 11, 53 }, { 15, 11, 13 }, { 16, 11, 64 }, { 145, 11, 41 }, + { 6, 0, 884 }, { 6, 0, 1019 }, { 134, 0, 1150 }, { 6, 11, 1767 }, + { 12, 11, 194 }, { 145, 11, 107 }, { 136, 10, 503 }, { 133, 11, 840 }, + { 7, 0, 671 }, { 134, 10, 466 }, { 132, 0, 888 }, { 4, 0, 149 }, + { 138, 0, 368 }, { 4, 0, 154 }, { 7, 0, 1134 }, { 136, 0, 105 }, + { 135, 0, 983 }, { 9, 11, 642 }, { 11, 11, 236 }, { 142, 11, 193 }, + { 4, 0, 31 }, { 6, 0, 429 }, { 7, 0, 962 }, { 9, 0, 458 }, + { 139, 0, 691 }, { 6, 0, 643 }, { 134, 0, 1102 }, { 132, 0, 312 }, + { 4, 11, 68 }, { 5, 11, 634 }, { 6, 11, 386 }, { 7, 11, 794 }, + { 8, 11, 273 }, { 9, 11, 563 }, { 10, 11, 105 }, { 10, 11, 171 }, + { 11, 11, 94 }, { 139, 11, 354 }, { 133, 0, 740 }, { 135, 0, 1642 }, + { 4, 11, 95 }, { 7, 11, 416 }, { 8, 11, 211 }, { 139, 11, 830 }, + { 132, 0, 236 }, { 138, 10, 241 }, { 7, 11, 731 }, { 13, 11, 20 }, + { 143, 11, 11 }, { 5, 0, 836 }, { 5, 0, 857 }, { 6, 0, 1680 }, + { 135, 0, 59 }, { 10, 0, 68 }, { 11, 0, 494 }, { 152, 11, 6 }, + { 4, 0, 81 }, { 139, 0, 867 }, { 135, 0, 795 }, { 133, 11, 689 }, + { 4, 0, 1001 }, { 5, 0, 282 }, { 6, 0, 1932 }, { 6, 0, 1977 }, + { 6, 0, 1987 }, { 6, 0, 1992 }, { 8, 0, 650 }, { 8, 0, 919 }, + { 8, 0, 920 }, { 8, 0, 923 }, { 8, 0, 926 }, { 8, 0, 927 }, + { 8, 0, 931 }, { 8, 0, 939 }, { 8, 0, 947 }, { 8, 0, 956 }, + { 8, 0, 997 }, { 9, 0, 907 }, { 10, 0, 950 }, { 10, 0, 953 }, + { 10, 0, 954 }, { 10, 0, 956 }, { 10, 0, 958 }, { 10, 0, 959 }, + { 10, 0, 964 }, { 10, 0, 970 }, { 10, 0, 972 }, { 10, 0, 973 }, + { 10, 0, 975 }, { 10, 0, 976 }, { 10, 0, 980 }, { 10, 0, 981 }, + { 10, 0, 984 }, { 10, 0, 988 }, { 10, 0, 990 }, { 10, 0, 995 }, + { 10, 0, 999 }, { 10, 0, 1002 }, { 10, 0, 1003 }, { 10, 0, 1005 }, + { 10, 0, 1006 }, { 10, 0, 1008 }, { 10, 0, 1009 }, { 10, 0, 1012 }, + { 10, 0, 1014 }, { 10, 0, 1015 }, { 10, 0, 1019 }, { 10, 0, 1020 }, + { 10, 0, 1022 }, { 12, 0, 959 }, { 12, 0, 961 }, { 12, 0, 962 }, + { 12, 0, 963 }, { 12, 0, 964 }, { 12, 0, 965 }, { 12, 0, 967 }, + { 12, 0, 968 }, { 12, 0, 969 }, { 12, 0, 970 }, { 12, 0, 971 }, + { 12, 0, 972 }, { 12, 0, 973 }, { 12, 0, 974 }, { 12, 0, 975 }, + { 12, 0, 976 }, { 12, 0, 977 }, { 12, 0, 979 }, { 12, 0, 981 }, + { 12, 0, 982 }, { 12, 0, 983 }, { 12, 0, 984 }, { 12, 0, 985 }, + { 12, 0, 986 }, { 12, 0, 987 }, { 12, 0, 989 }, { 12, 0, 990 }, + { 12, 0, 992 }, { 12, 0, 993 }, { 12, 0, 995 }, { 12, 0, 998 }, + { 12, 0, 999 }, { 12, 0, 1000 }, { 12, 0, 1001 }, { 12, 0, 1002 }, + { 12, 0, 1004 }, { 12, 0, 1005 }, { 12, 0, 1006 }, { 12, 0, 1007 }, + { 12, 0, 1008 }, { 12, 0, 1009 }, { 12, 0, 1010 }, { 12, 0, 1011 }, + { 12, 0, 1012 }, { 12, 0, 1014 }, { 12, 0, 1015 }, { 12, 0, 1016 }, + { 12, 0, 1017 }, { 12, 0, 1018 }, { 12, 0, 1019 }, { 12, 0, 1022 }, + { 12, 0, 1023 }, { 14, 0, 475 }, { 14, 0, 477 }, { 14, 0, 478 }, + { 14, 0, 479 }, { 14, 0, 480 }, { 14, 0, 482 }, { 14, 0, 483 }, + { 14, 0, 484 }, { 14, 0, 485 }, { 14, 0, 486 }, { 14, 0, 487 }, + { 14, 0, 488 }, { 14, 0, 489 }, { 14, 0, 490 }, { 14, 0, 491 }, + { 14, 0, 492 }, { 14, 0, 493 }, { 14, 0, 494 }, { 14, 0, 495 }, + { 14, 0, 496 }, { 14, 0, 497 }, { 14, 0, 498 }, { 14, 0, 499 }, + { 14, 0, 500 }, { 14, 0, 501 }, { 14, 0, 502 }, { 14, 0, 503 }, + { 14, 0, 504 }, { 14, 0, 506 }, { 14, 0, 507 }, { 14, 0, 508 }, + { 14, 0, 509 }, { 14, 0, 510 }, { 14, 0, 511 }, { 16, 0, 113 }, + { 16, 0, 114 }, { 16, 0, 115 }, { 16, 0, 117 }, { 16, 0, 118 }, + { 16, 0, 119 }, { 16, 0, 121 }, { 16, 0, 122 }, { 16, 0, 123 }, + { 16, 0, 124 }, { 16, 0, 125 }, { 16, 0, 126 }, { 16, 0, 127 }, + { 18, 0, 242 }, { 18, 0, 243 }, { 18, 0, 244 }, { 18, 0, 245 }, + { 18, 0, 248 }, { 18, 0, 249 }, { 18, 0, 250 }, { 18, 0, 251 }, + { 18, 0, 252 }, { 18, 0, 253 }, { 18, 0, 254 }, { 18, 0, 255 }, + { 20, 0, 125 }, { 20, 0, 126 }, { 148, 0, 127 }, { 7, 11, 1717 }, + { 7, 11, 1769 }, { 138, 11, 546 }, { 7, 11, 1127 }, { 7, 11, 1572 }, + { 10, 11, 297 }, { 10, 11, 422 }, { 11, 11, 764 }, { 11, 11, 810 }, + { 12, 11, 264 }, { 13, 11, 102 }, { 13, 11, 300 }, { 13, 11, 484 }, + { 14, 11, 147 }, { 14, 11, 229 }, { 17, 11, 71 }, { 18, 11, 118 }, + { 147, 11, 120 }, { 6, 0, 1148 }, { 134, 0, 1586 }, { 132, 0, 775 }, + { 135, 10, 954 }, { 133, 11, 864 }, { 133, 11, 928 }, { 138, 11, 189 }, + { 135, 10, 1958 }, { 6, 10, 549 }, { 8, 10, 34 }, { 8, 10, 283 }, + { 9, 10, 165 }, { 138, 10, 475 }, { 5, 10, 652 }, { 5, 10, 701 }, + { 135, 10, 449 }, { 135, 11, 695 }, { 4, 10, 655 }, { 7, 10, 850 }, + { 17, 10, 75 }, { 146, 10, 137 }, { 140, 11, 682 }, { 133, 11, 523 }, + { 8, 0, 970 }, { 136, 10, 670 }, { 136, 11, 555 }, { 7, 11, 76 }, + { 8, 11, 44 }, { 9, 11, 884 }, { 10, 11, 580 }, { 11, 11, 399 }, + { 11, 11, 894 }, { 15, 11, 122 }, { 18, 11, 144 }, { 147, 11, 61 }, + { 6, 10, 159 }, { 6, 10, 364 }, { 7, 10, 516 }, { 7, 10, 1439 }, + { 137, 10, 518 }, { 4, 0, 71 }, { 5, 0, 376 }, { 7, 0, 119 }, + { 138, 0, 665 }, { 141, 10, 151 }, { 11, 0, 827 }, { 14, 0, 34 }, + { 143, 0, 148 }, { 133, 11, 518 }, { 4, 0, 479 }, { 135, 11, 1787 }, + { 135, 11, 1852 }, { 135, 10, 993 }, { 7, 0, 607 }, { 136, 0, 99 }, + { 134, 0, 1960 }, { 132, 0, 793 }, { 4, 0, 41 }, { 5, 0, 74 }, + { 7, 0, 1627 }, { 11, 0, 871 }, { 140, 0, 619 }, { 7, 0, 94 }, + { 11, 0, 329 }, { 11, 0, 965 }, { 12, 0, 241 }, { 14, 0, 354 }, + { 15, 0, 22 }, { 148, 0, 63 }, { 7, 10, 501 }, { 9, 10, 111 }, + { 10, 10, 141 }, { 11, 10, 332 }, { 13, 10, 43 }, { 13, 10, 429 }, + { 14, 10, 130 }, { 14, 10, 415 }, { 145, 10, 102 }, { 9, 0, 209 }, + { 137, 0, 300 }, { 134, 0, 1497 }, { 138, 11, 255 }, { 4, 11, 934 }, + { 5, 11, 138 }, { 136, 11, 610 }, { 133, 0, 98 }, { 6, 0, 1316 }, + { 10, 11, 804 }, { 138, 11, 832 }, { 8, 11, 96 }, { 9, 11, 36 }, + { 10, 11, 607 }, { 11, 11, 423 }, { 11, 11, 442 }, { 12, 11, 309 }, + { 14, 11, 199 }, { 15, 11, 90 }, { 145, 11, 110 }, { 132, 0, 463 }, + { 5, 10, 149 }, { 136, 10, 233 }, { 133, 10, 935 }, { 4, 11, 652 }, + { 8, 11, 320 }, { 9, 11, 13 }, { 9, 11, 398 }, { 9, 11, 727 }, + { 10, 11, 75 }, { 10, 11, 184 }, { 10, 11, 230 }, { 10, 11, 564 }, + { 10, 11, 569 }, { 11, 11, 973 }, { 12, 11, 70 }, { 12, 11, 189 }, + { 13, 11, 57 }, { 13, 11, 257 }, { 22, 11, 6 }, { 150, 11, 16 }, + { 142, 0, 291 }, { 12, 10, 582 }, { 146, 10, 131 }, { 136, 10, 801 }, + { 133, 0, 984 }, { 145, 11, 116 }, { 4, 11, 692 }, { 133, 11, 321 }, + { 4, 0, 182 }, { 6, 0, 205 }, { 135, 0, 220 }, { 4, 0, 42 }, + { 9, 0, 205 }, { 9, 0, 786 }, { 138, 0, 659 }, { 6, 0, 801 }, + { 11, 11, 130 }, { 140, 11, 609 }, { 132, 0, 635 }, { 5, 11, 345 }, + { 135, 11, 1016 }, { 139, 0, 533 }, { 132, 0, 371 }, { 4, 0, 272 }, + { 135, 0, 836 }, { 6, 0, 1282 }, { 135, 11, 1100 }, { 5, 0, 825 }, + { 134, 0, 1640 }, { 135, 11, 1325 }, { 133, 11, 673 }, { 4, 11, 287 }, + { 133, 11, 1018 }, { 135, 0, 357 }, { 6, 0, 467 }, { 137, 0, 879 }, + { 7, 0, 317 }, { 135, 0, 569 }, { 6, 0, 924 }, { 134, 0, 1588 }, + { 5, 11, 34 }, { 5, 10, 406 }, { 10, 11, 724 }, { 12, 11, 444 }, + { 13, 11, 354 }, { 18, 11, 32 }, { 23, 11, 24 }, { 23, 11, 31 }, + { 152, 11, 5 }, { 6, 0, 1795 }, { 6, 0, 1835 }, { 6, 0, 1836 }, + { 6, 0, 1856 }, { 8, 0, 844 }, { 8, 0, 849 }, { 8, 0, 854 }, + { 8, 0, 870 }, { 8, 0, 887 }, { 10, 0, 852 }, { 138, 0, 942 }, + { 6, 10, 69 }, { 135, 10, 117 }, { 137, 0, 307 }, { 4, 0, 944 }, + { 6, 0, 1799 }, { 6, 0, 1825 }, { 10, 0, 848 }, { 10, 0, 875 }, + { 10, 0, 895 }, { 10, 0, 899 }, { 10, 0, 902 }, { 140, 0, 773 }, + { 11, 0, 43 }, { 13, 0, 72 }, { 141, 0, 142 }, { 135, 10, 1830 }, + { 134, 11, 382 }, { 4, 10, 432 }, { 135, 10, 824 }, { 132, 11, 329 }, + { 7, 0, 1820 }, { 139, 11, 124 }, { 133, 10, 826 }, { 133, 0, 525 }, + { 132, 11, 906 }, { 7, 11, 1940 }, { 136, 11, 366 }, { 138, 11, 10 }, + { 4, 11, 123 }, { 4, 11, 649 }, { 5, 11, 605 }, { 7, 11, 1509 }, + { 136, 11, 36 }, { 6, 0, 110 }, { 135, 0, 1681 }, { 133, 0, 493 }, + { 133, 11, 767 }, { 4, 0, 174 }, { 135, 0, 911 }, { 138, 11, 786 }, + { 8, 0, 417 }, { 137, 0, 782 }, { 133, 10, 1000 }, { 7, 0, 733 }, + { 137, 0, 583 }, { 4, 10, 297 }, { 6, 10, 529 }, { 7, 10, 152 }, + { 7, 10, 713 }, { 7, 10, 1845 }, { 8, 10, 710 }, { 8, 10, 717 }, + { 12, 10, 639 }, { 140, 10, 685 }, { 4, 0, 32 }, { 5, 0, 215 }, + { 6, 0, 269 }, { 7, 0, 1782 }, { 7, 0, 1892 }, { 10, 0, 16 }, + { 11, 0, 822 }, { 11, 0, 954 }, { 141, 0, 481 }, { 4, 11, 273 }, + { 5, 11, 658 }, { 133, 11, 995 }, { 136, 0, 477 }, { 134, 11, 72 }, + { 135, 11, 1345 }, { 5, 0, 308 }, { 7, 0, 1088 }, { 4, 10, 520 }, + { 135, 10, 575 }, { 133, 11, 589 }, { 5, 0, 126 }, { 8, 0, 297 }, + { 9, 0, 366 }, { 140, 0, 374 }, { 7, 0, 1551 }, { 139, 0, 361 }, + { 5, 11, 117 }, { 6, 11, 514 }, { 6, 11, 541 }, { 7, 11, 1164 }, + { 7, 11, 1436 }, { 8, 11, 220 }, { 8, 11, 648 }, { 10, 11, 688 }, + { 139, 11, 560 }, { 133, 11, 686 }, { 4, 0, 946 }, { 6, 0, 1807 }, + { 8, 0, 871 }, { 10, 0, 854 }, { 10, 0, 870 }, { 10, 0, 888 }, + { 10, 0, 897 }, { 10, 0, 920 }, { 12, 0, 722 }, { 12, 0, 761 }, + { 12, 0, 763 }, { 12, 0, 764 }, { 14, 0, 454 }, { 14, 0, 465 }, + { 16, 0, 107 }, { 18, 0, 167 }, { 18, 0, 168 }, { 146, 0, 172 }, + { 132, 0, 175 }, { 135, 0, 1307 }, { 132, 0, 685 }, { 135, 11, 1834 }, + { 133, 0, 797 }, { 6, 0, 745 }, { 6, 0, 858 }, { 134, 0, 963 }, + { 133, 0, 565 }, { 5, 10, 397 }, { 6, 10, 154 }, { 7, 11, 196 }, + { 7, 10, 676 }, { 8, 10, 443 }, { 8, 10, 609 }, { 9, 10, 24 }, + { 9, 10, 325 }, { 10, 10, 35 }, { 10, 11, 765 }, { 11, 11, 347 }, + { 11, 10, 535 }, { 11, 11, 552 }, { 11, 11, 576 }, { 11, 10, 672 }, + { 11, 11, 790 }, { 11, 10, 1018 }, { 12, 11, 263 }, { 12, 10, 637 }, + { 13, 11, 246 }, { 13, 11, 270 }, { 13, 11, 395 }, { 14, 11, 74 }, + { 14, 11, 176 }, { 14, 11, 190 }, { 14, 11, 398 }, { 14, 11, 412 }, + { 15, 11, 32 }, { 15, 11, 63 }, { 16, 10, 30 }, { 16, 11, 88 }, + { 147, 11, 105 }, { 13, 11, 84 }, { 141, 11, 122 }, { 4, 0, 252 }, + { 7, 0, 1068 }, { 10, 0, 434 }, { 11, 0, 228 }, { 11, 0, 426 }, + { 13, 0, 231 }, { 18, 0, 106 }, { 148, 0, 87 }, { 137, 0, 826 }, + { 4, 11, 589 }, { 139, 11, 282 }, { 5, 11, 381 }, { 135, 11, 1792 }, + { 132, 0, 791 }, { 5, 0, 231 }, { 10, 0, 509 }, { 133, 10, 981 }, + { 7, 0, 601 }, { 9, 0, 277 }, { 9, 0, 674 }, { 10, 0, 178 }, + { 10, 0, 418 }, { 10, 0, 571 }, { 11, 0, 531 }, { 12, 0, 113 }, + { 12, 0, 475 }, { 13, 0, 99 }, { 142, 0, 428 }, { 4, 10, 56 }, + { 7, 11, 616 }, { 7, 10, 1791 }, { 8, 10, 607 }, { 8, 10, 651 }, + { 10, 11, 413 }, { 11, 10, 465 }, { 11, 10, 835 }, { 12, 10, 337 }, + { 141, 10, 480 }, { 7, 0, 1591 }, { 144, 0, 43 }, { 9, 10, 158 }, + { 138, 10, 411 }, { 135, 0, 1683 }, { 8, 0, 289 }, { 11, 0, 45 }, + { 12, 0, 278 }, { 140, 0, 537 }, { 6, 11, 120 }, { 7, 11, 1188 }, + { 7, 11, 1710 }, { 8, 11, 286 }, { 9, 11, 667 }, { 11, 11, 592 }, + { 139, 11, 730 }, { 136, 10, 617 }, { 135, 0, 1120 }, { 135, 11, 1146 }, + { 139, 10, 563 }, { 4, 11, 352 }, { 4, 10, 369 }, { 135, 11, 687 }, + { 143, 11, 38 }, { 4, 0, 399 }, { 5, 0, 119 }, { 5, 0, 494 }, + { 7, 0, 751 }, { 9, 0, 556 }, { 14, 11, 179 }, { 15, 11, 151 }, + { 150, 11, 11 }, { 4, 11, 192 }, { 5, 11, 49 }, { 6, 11, 200 }, + { 6, 11, 293 }, { 6, 11, 1696 }, { 135, 11, 488 }, { 4, 0, 398 }, + { 133, 0, 660 }, { 7, 0, 1030 }, { 134, 10, 622 }, { 135, 11, 595 }, + { 141, 0, 168 }, { 132, 11, 147 }, { 7, 0, 973 }, { 10, 10, 624 }, + { 142, 10, 279 }, { 132, 10, 363 }, { 132, 0, 642 }, { 133, 11, 934 }, + { 134, 0, 1615 }, { 7, 11, 505 }, { 135, 11, 523 }, { 7, 0, 594 }, + { 7, 0, 851 }, { 7, 0, 1858 }, { 9, 0, 411 }, { 9, 0, 574 }, + { 9, 0, 666 }, { 9, 0, 737 }, { 10, 0, 346 }, { 10, 0, 712 }, + { 11, 0, 246 }, { 11, 0, 432 }, { 11, 0, 517 }, { 11, 0, 647 }, + { 11, 0, 679 }, { 11, 0, 727 }, { 12, 0, 304 }, { 12, 0, 305 }, + { 12, 0, 323 }, { 12, 0, 483 }, { 12, 0, 572 }, { 12, 0, 593 }, + { 12, 0, 602 }, { 13, 0, 95 }, { 13, 0, 101 }, { 13, 0, 171 }, + { 13, 0, 315 }, { 13, 0, 378 }, { 13, 0, 425 }, { 13, 0, 475 }, + { 14, 0, 63 }, { 14, 0, 380 }, { 14, 0, 384 }, { 15, 0, 133 }, + { 18, 0, 112 }, { 148, 0, 72 }, { 135, 0, 1093 }, { 132, 0, 679 }, + { 8, 0, 913 }, { 10, 0, 903 }, { 10, 0, 915 }, { 12, 0, 648 }, + { 12, 0, 649 }, { 14, 0, 455 }, { 16, 0, 112 }, { 138, 11, 438 }, + { 137, 0, 203 }, { 134, 10, 292 }, { 134, 0, 1492 }, { 7, 0, 1374 }, + { 8, 0, 540 }, { 5, 10, 177 }, { 6, 10, 616 }, { 7, 10, 827 }, + { 9, 10, 525 }, { 138, 10, 656 }, { 135, 0, 1486 }, { 9, 0, 714 }, + { 138, 10, 31 }, { 136, 0, 825 }, { 134, 0, 1511 }, { 132, 11, 637 }, + { 134, 0, 952 }, { 4, 10, 161 }, { 133, 10, 631 }, { 5, 0, 143 }, + { 5, 0, 769 }, { 6, 0, 1760 }, { 7, 0, 682 }, { 7, 0, 1992 }, + { 136, 0, 736 }, { 132, 0, 700 }, { 134, 0, 1540 }, { 132, 11, 777 }, + { 9, 11, 867 }, { 138, 11, 837 }, { 7, 0, 1557 }, { 135, 10, 1684 }, + { 133, 0, 860 }, { 6, 0, 422 }, { 7, 0, 0 }, { 7, 0, 1544 }, + { 9, 0, 605 }, { 11, 0, 990 }, { 12, 0, 235 }, { 12, 0, 453 }, + { 13, 0, 47 }, { 13, 0, 266 }, { 9, 10, 469 }, { 9, 10, 709 }, + { 12, 10, 512 }, { 14, 10, 65 }, { 145, 10, 12 }, { 11, 0, 807 }, + { 10, 10, 229 }, { 11, 10, 73 }, { 139, 10, 376 }, { 6, 11, 170 }, + { 7, 11, 1080 }, { 8, 11, 395 }, { 8, 11, 487 }, { 11, 11, 125 }, + { 141, 11, 147 }, { 5, 0, 515 }, { 137, 0, 131 }, { 7, 0, 1605 }, + { 11, 0, 962 }, { 146, 0, 139 }, { 132, 0, 646 }, { 4, 0, 396 }, + { 7, 0, 728 }, { 9, 0, 117 }, { 13, 0, 202 }, { 148, 0, 51 }, + { 6, 0, 121 }, { 6, 0, 124 }, { 6, 0, 357 }, { 7, 0, 1138 }, + { 7, 0, 1295 }, { 8, 0, 162 }, { 8, 0, 508 }, { 11, 0, 655 }, + { 4, 11, 535 }, { 6, 10, 558 }, { 7, 10, 651 }, { 8, 11, 618 }, + { 9, 10, 0 }, { 10, 10, 34 }, { 139, 10, 1008 }, { 135, 11, 1245 }, + { 138, 0, 357 }, { 150, 11, 23 }, { 133, 0, 237 }, { 135, 0, 1784 }, + { 7, 10, 1832 }, { 138, 10, 374 }, { 132, 0, 713 }, { 132, 11, 46 }, + { 6, 0, 1536 }, { 10, 0, 348 }, { 5, 11, 811 }, { 6, 11, 1679 }, + { 6, 11, 1714 }, { 135, 11, 2032 }, { 11, 11, 182 }, { 142, 11, 195 }, + { 6, 0, 523 }, { 7, 0, 738 }, { 7, 10, 771 }, { 7, 10, 1731 }, + { 9, 10, 405 }, { 138, 10, 421 }, { 7, 11, 1458 }, { 9, 11, 407 }, + { 139, 11, 15 }, { 6, 11, 34 }, { 7, 11, 69 }, { 7, 11, 640 }, + { 7, 11, 1089 }, { 8, 11, 708 }, { 8, 11, 721 }, { 9, 11, 363 }, + { 9, 11, 643 }, { 10, 11, 628 }, { 148, 11, 98 }, { 133, 0, 434 }, + { 135, 0, 1877 }, { 7, 0, 571 }, { 138, 0, 366 }, { 5, 10, 881 }, + { 133, 10, 885 }, { 9, 0, 513 }, { 10, 0, 25 }, { 10, 0, 39 }, + { 12, 0, 122 }, { 140, 0, 187 }, { 132, 0, 580 }, { 5, 10, 142 }, + { 134, 10, 546 }, { 132, 11, 462 }, { 137, 0, 873 }, { 5, 10, 466 }, + { 11, 10, 571 }, { 12, 10, 198 }, { 13, 10, 283 }, { 14, 10, 186 }, + { 15, 10, 21 }, { 143, 10, 103 }, { 7, 0, 171 }, { 4, 10, 185 }, + { 5, 10, 257 }, { 5, 10, 839 }, { 5, 10, 936 }, { 9, 10, 399 }, + { 10, 10, 258 }, { 10, 10, 395 }, { 10, 10, 734 }, { 11, 10, 1014 }, + { 12, 10, 23 }, { 13, 10, 350 }, { 14, 10, 150 }, { 147, 10, 6 }, + { 134, 0, 625 }, { 7, 0, 107 }, { 7, 0, 838 }, { 8, 0, 550 }, + { 138, 0, 401 }, { 5, 11, 73 }, { 6, 11, 23 }, { 134, 11, 338 }, + { 4, 0, 943 }, { 6, 0, 1850 }, { 12, 0, 713 }, { 142, 0, 434 }, + { 11, 0, 588 }, { 11, 0, 864 }, { 11, 0, 936 }, { 11, 0, 968 }, + { 12, 0, 73 }, { 12, 0, 343 }, { 12, 0, 394 }, { 13, 0, 275 }, + { 14, 0, 257 }, { 15, 0, 160 }, { 7, 10, 404 }, { 7, 10, 1377 }, + { 7, 10, 1430 }, { 7, 10, 2017 }, { 8, 10, 149 }, { 8, 10, 239 }, + { 8, 10, 512 }, { 8, 10, 793 }, { 8, 10, 818 }, { 9, 10, 474 }, + { 9, 10, 595 }, { 10, 10, 122 }, { 10, 10, 565 }, { 10, 10, 649 }, + { 10, 10, 783 }, { 11, 10, 239 }, { 11, 10, 295 }, { 11, 10, 447 }, + { 11, 10, 528 }, { 11, 10, 639 }, { 11, 10, 800 }, { 12, 10, 25 }, + { 12, 10, 157 }, { 12, 10, 316 }, { 12, 10, 390 }, { 12, 10, 391 }, + { 12, 10, 395 }, { 12, 10, 478 }, { 12, 10, 503 }, { 12, 10, 592 }, + { 12, 10, 680 }, { 13, 10, 50 }, { 13, 10, 53 }, { 13, 10, 132 }, + { 13, 10, 198 }, { 13, 10, 322 }, { 13, 10, 415 }, { 13, 10, 511 }, + { 14, 10, 71 }, { 14, 10, 395 }, { 15, 10, 71 }, { 15, 10, 136 }, + { 17, 10, 123 }, { 18, 10, 93 }, { 147, 10, 58 }, { 133, 0, 768 }, + { 11, 0, 103 }, { 142, 0, 0 }, { 136, 10, 712 }, { 132, 0, 799 }, + { 132, 0, 894 }, { 7, 11, 725 }, { 8, 11, 498 }, { 139, 11, 268 }, + { 135, 11, 1798 }, { 135, 11, 773 }, { 141, 11, 360 }, { 4, 10, 377 }, + { 152, 10, 13 }, { 135, 0, 1673 }, { 132, 11, 583 }, { 134, 0, 1052 }, + { 133, 11, 220 }, { 140, 11, 69 }, { 132, 11, 544 }, { 4, 10, 180 }, + { 135, 10, 1906 }, { 134, 0, 272 }, { 4, 0, 441 }, { 134, 0, 1421 }, + { 4, 0, 9 }, { 5, 0, 128 }, { 7, 0, 368 }, { 11, 0, 480 }, + { 148, 0, 3 }, { 5, 11, 176 }, { 6, 11, 437 }, { 6, 11, 564 }, + { 11, 11, 181 }, { 141, 11, 183 }, { 132, 10, 491 }, { 7, 0, 1182 }, + { 141, 11, 67 }, { 6, 0, 1346 }, { 4, 10, 171 }, { 138, 10, 234 }, + { 4, 10, 586 }, { 7, 10, 1186 }, { 138, 10, 631 }, { 136, 0, 682 }, + { 134, 0, 1004 }, { 15, 0, 24 }, { 143, 11, 24 }, { 134, 0, 968 }, + { 4, 0, 2 }, { 6, 0, 742 }, { 6, 0, 793 }, { 7, 0, 545 }, + { 7, 0, 894 }, { 9, 10, 931 }, { 10, 10, 334 }, { 148, 10, 71 }, + { 136, 11, 600 }, { 133, 10, 765 }, { 9, 0, 769 }, { 140, 0, 185 }, + { 4, 11, 790 }, { 5, 11, 273 }, { 134, 11, 394 }, { 7, 0, 474 }, + { 137, 0, 578 }, { 4, 11, 135 }, { 6, 11, 127 }, { 7, 11, 1185 }, + { 7, 11, 1511 }, { 8, 11, 613 }, { 11, 11, 5 }, { 12, 11, 133 }, + { 12, 11, 495 }, { 12, 11, 586 }, { 14, 11, 385 }, { 15, 11, 118 }, + { 17, 11, 20 }, { 146, 11, 98 }, { 133, 10, 424 }, { 5, 0, 530 }, + { 142, 0, 113 }, { 6, 11, 230 }, { 7, 11, 961 }, { 7, 11, 1085 }, + { 136, 11, 462 }, { 7, 11, 1954 }, { 137, 11, 636 }, { 136, 10, 714 }, + { 149, 11, 6 }, { 135, 10, 685 }, { 9, 10, 420 }, { 10, 10, 269 }, + { 10, 10, 285 }, { 10, 10, 576 }, { 11, 10, 397 }, { 13, 10, 175 }, + { 145, 10, 90 }, { 132, 10, 429 }, { 5, 0, 556 }, { 5, 11, 162 }, + { 136, 11, 68 }, { 132, 11, 654 }, { 4, 11, 156 }, { 7, 11, 998 }, + { 7, 11, 1045 }, { 7, 11, 1860 }, { 9, 11, 48 }, { 9, 11, 692 }, + { 11, 11, 419 }, { 139, 11, 602 }, { 6, 0, 1317 }, { 8, 0, 16 }, + { 9, 0, 825 }, { 12, 0, 568 }, { 7, 11, 1276 }, { 8, 11, 474 }, + { 137, 11, 652 }, { 18, 0, 97 }, { 7, 10, 18 }, { 7, 10, 699 }, + { 7, 10, 1966 }, { 8, 10, 752 }, { 9, 10, 273 }, { 9, 10, 412 }, + { 9, 10, 703 }, { 10, 10, 71 }, { 10, 10, 427 }, { 138, 10, 508 }, + { 10, 0, 703 }, { 7, 11, 1454 }, { 138, 11, 703 }, { 4, 10, 53 }, + { 5, 10, 186 }, { 135, 10, 752 }, { 134, 0, 892 }, { 134, 0, 1571 }, + { 8, 10, 575 }, { 10, 10, 289 }, { 139, 10, 319 }, { 6, 0, 186 }, + { 137, 0, 426 }, { 134, 0, 1101 }, { 132, 10, 675 }, { 132, 0, 585 }, + { 6, 0, 1870 }, { 137, 0, 937 }, { 152, 11, 10 }, { 9, 11, 197 }, + { 10, 11, 300 }, { 12, 11, 473 }, { 13, 11, 90 }, { 141, 11, 405 }, + { 4, 0, 93 }, { 5, 0, 252 }, { 6, 0, 229 }, { 7, 0, 291 }, + { 9, 0, 550 }, { 139, 0, 644 }, { 137, 0, 749 }, { 9, 0, 162 }, + { 6, 10, 209 }, { 8, 10, 468 }, { 9, 10, 210 }, { 11, 10, 36 }, + { 12, 10, 28 }, { 12, 10, 630 }, { 13, 10, 21 }, { 13, 10, 349 }, + { 14, 10, 7 }, { 145, 10, 13 }, { 132, 0, 381 }, { 132, 11, 606 }, + { 4, 10, 342 }, { 135, 10, 1179 }, { 7, 11, 1587 }, { 7, 11, 1707 }, + { 10, 11, 528 }, { 139, 11, 504 }, { 12, 11, 39 }, { 13, 11, 265 }, + { 141, 11, 439 }, { 4, 10, 928 }, { 133, 10, 910 }, { 7, 10, 1838 }, + { 7, 11, 1978 }, { 136, 11, 676 }, { 6, 0, 762 }, { 6, 0, 796 }, + { 134, 0, 956 }, { 4, 10, 318 }, { 4, 10, 496 }, { 7, 10, 856 }, + { 139, 10, 654 }, { 137, 11, 242 }, { 4, 11, 361 }, { 133, 11, 315 }, + { 132, 11, 461 }, { 132, 11, 472 }, { 132, 0, 857 }, { 5, 0, 21 }, + { 6, 0, 77 }, { 6, 0, 157 }, { 7, 0, 974 }, { 7, 0, 1301 }, + { 7, 0, 1339 }, { 7, 0, 1490 }, { 7, 0, 1873 }, { 9, 0, 628 }, + { 7, 10, 915 }, { 8, 10, 247 }, { 147, 10, 0 }, { 4, 10, 202 }, + { 5, 10, 382 }, { 6, 10, 454 }, { 7, 10, 936 }, { 7, 10, 1803 }, + { 8, 10, 758 }, { 9, 10, 375 }, { 9, 10, 895 }, { 10, 10, 743 }, + { 10, 10, 792 }, { 11, 10, 978 }, { 11, 10, 1012 }, { 142, 10, 109 }, + { 7, 11, 617 }, { 10, 11, 498 }, { 11, 11, 501 }, { 12, 11, 16 }, + { 140, 11, 150 }, { 7, 10, 1150 }, { 7, 10, 1425 }, { 7, 10, 1453 }, + { 10, 11, 747 }, { 140, 10, 513 }, { 133, 11, 155 }, { 11, 0, 919 }, + { 141, 0, 409 }, { 138, 10, 791 }, { 10, 0, 633 }, { 139, 11, 729 }, + { 7, 11, 163 }, { 8, 11, 319 }, { 9, 11, 402 }, { 10, 11, 24 }, + { 10, 11, 681 }, { 11, 11, 200 }, { 11, 11, 567 }, { 12, 11, 253 }, + { 12, 11, 410 }, { 142, 11, 219 }, { 5, 11, 475 }, { 7, 11, 1780 }, + { 9, 11, 230 }, { 11, 11, 297 }, { 11, 11, 558 }, { 14, 11, 322 }, + { 147, 11, 76 }, { 7, 0, 332 }, { 6, 10, 445 }, { 137, 10, 909 }, + { 135, 11, 1956 }, { 136, 11, 274 }, { 134, 10, 578 }, { 135, 0, 1489 }, + { 135, 11, 1848 }, { 5, 11, 944 }, { 134, 11, 1769 }, { 132, 11, 144 }, + { 136, 10, 766 }, { 4, 0, 832 }, { 135, 10, 541 }, { 8, 0, 398 }, + { 9, 0, 681 }, { 139, 0, 632 }, { 136, 0, 645 }, { 9, 0, 791 }, + { 10, 0, 93 }, { 16, 0, 13 }, { 17, 0, 23 }, { 18, 0, 135 }, + { 19, 0, 12 }, { 20, 0, 1 }, { 20, 0, 12 }, { 148, 0, 14 }, + { 6, 11, 247 }, { 137, 11, 555 }, { 134, 0, 20 }, { 132, 0, 800 }, + { 135, 0, 1841 }, { 139, 10, 983 }, { 137, 10, 768 }, { 132, 10, 584 }, + { 141, 11, 51 }, { 6, 0, 1993 }, { 4, 11, 620 }, { 138, 11, 280 }, + { 136, 0, 769 }, { 11, 0, 290 }, { 11, 0, 665 }, { 7, 11, 1810 }, + { 11, 11, 866 }, { 12, 11, 103 }, { 13, 11, 495 }, { 17, 11, 67 }, + { 147, 11, 74 }, { 134, 0, 1426 }, { 139, 0, 60 }, { 4, 10, 326 }, + { 135, 10, 1770 }, { 7, 0, 1874 }, { 9, 0, 641 }, { 132, 10, 226 }, + { 6, 0, 644 }, { 5, 10, 426 }, { 8, 10, 30 }, { 9, 10, 2 }, + { 11, 10, 549 }, { 147, 10, 122 }, { 5, 11, 428 }, { 138, 11, 442 }, + { 135, 11, 1871 }, { 135, 0, 1757 }, { 147, 10, 117 }, { 135, 0, 937 }, + { 135, 0, 1652 }, { 6, 0, 654 }, { 134, 0, 1476 }, { 133, 11, 99 }, + { 135, 0, 527 }, { 132, 10, 345 }, { 4, 10, 385 }, { 4, 11, 397 }, + { 7, 10, 265 }, { 135, 10, 587 }, { 4, 0, 579 }, { 5, 0, 226 }, + { 5, 0, 323 }, { 135, 0, 960 }, { 134, 0, 1486 }, { 8, 11, 502 }, + { 144, 11, 9 }, { 4, 10, 347 }, { 5, 10, 423 }, { 5, 10, 996 }, + { 135, 10, 1329 }, { 7, 11, 727 }, { 146, 11, 73 }, { 4, 11, 485 }, + { 7, 11, 353 }, { 7, 10, 1259 }, { 7, 11, 1523 }, { 9, 10, 125 }, + { 139, 10, 65 }, { 6, 0, 325 }, { 5, 10, 136 }, { 6, 11, 366 }, + { 7, 11, 1384 }, { 7, 11, 1601 }, { 136, 10, 644 }, { 138, 11, 160 }, + { 6, 0, 1345 }, { 137, 11, 282 }, { 18, 0, 91 }, { 147, 0, 70 }, + { 136, 0, 404 }, { 4, 11, 157 }, { 133, 11, 471 }, { 133, 0, 973 }, + { 6, 0, 135 }, { 135, 0, 1176 }, { 8, 11, 116 }, { 11, 11, 551 }, + { 142, 11, 159 }, { 4, 0, 549 }, { 4, 10, 433 }, { 133, 10, 719 }, + { 136, 0, 976 }, { 5, 11, 160 }, { 7, 11, 363 }, { 7, 11, 589 }, + { 10, 11, 170 }, { 141, 11, 55 }, { 144, 0, 21 }, { 144, 0, 51 }, + { 135, 0, 314 }, { 135, 10, 1363 }, { 4, 11, 108 }, { 7, 11, 405 }, + { 10, 11, 491 }, { 139, 11, 498 }, { 146, 0, 4 }, { 4, 10, 555 }, + { 8, 10, 536 }, { 10, 10, 288 }, { 139, 10, 1005 }, { 135, 11, 1005 }, + { 6, 0, 281 }, { 7, 0, 6 }, { 8, 0, 282 }, { 8, 0, 480 }, + { 8, 0, 499 }, { 9, 0, 198 }, { 10, 0, 143 }, { 10, 0, 169 }, + { 10, 0, 211 }, { 10, 0, 417 }, { 10, 0, 574 }, { 11, 0, 147 }, + { 11, 0, 395 }, { 12, 0, 75 }, { 12, 0, 407 }, { 12, 0, 608 }, + { 13, 0, 500 }, { 142, 0, 251 }, { 6, 0, 1093 }, { 6, 0, 1405 }, + { 9, 10, 370 }, { 138, 10, 90 }, { 4, 11, 926 }, { 133, 11, 983 }, + { 135, 0, 1776 }, { 134, 0, 1528 }, { 132, 0, 419 }, { 132, 11, 538 }, + { 6, 11, 294 }, { 7, 11, 1267 }, { 136, 11, 624 }, { 135, 11, 1772 }, + { 138, 11, 301 }, { 4, 10, 257 }, { 135, 10, 2031 }, { 4, 0, 138 }, + { 7, 0, 1012 }, { 7, 0, 1280 }, { 9, 0, 76 }, { 135, 10, 1768 }, + { 132, 11, 757 }, { 5, 0, 29 }, { 140, 0, 638 }, { 7, 11, 655 }, + { 135, 11, 1844 }, { 7, 0, 1418 }, { 6, 11, 257 }, { 135, 11, 1522 }, + { 8, 11, 469 }, { 138, 11, 47 }, { 142, 11, 278 }, { 6, 10, 83 }, + { 6, 10, 1733 }, { 135, 10, 1389 }, { 11, 11, 204 }, { 11, 11, 243 }, + { 140, 11, 293 }, { 135, 11, 1875 }, { 6, 0, 1710 }, { 135, 0, 2038 }, + { 137, 11, 299 }, { 4, 0, 17 }, { 5, 0, 23 }, { 7, 0, 995 }, + { 11, 0, 383 }, { 11, 0, 437 }, { 12, 0, 460 }, { 140, 0, 532 }, + { 133, 0, 862 }, { 137, 10, 696 }, { 6, 0, 592 }, { 138, 0, 946 }, + { 138, 11, 599 }, { 7, 10, 1718 }, { 9, 10, 95 }, { 9, 10, 274 }, + { 10, 10, 279 }, { 10, 10, 317 }, { 10, 10, 420 }, { 11, 10, 303 }, + { 11, 10, 808 }, { 12, 10, 134 }, { 12, 10, 367 }, { 13, 10, 149 }, + { 13, 10, 347 }, { 14, 10, 349 }, { 14, 10, 406 }, { 18, 10, 22 }, + { 18, 10, 89 }, { 18, 10, 122 }, { 147, 10, 47 }, { 8, 0, 70 }, + { 12, 0, 171 }, { 141, 0, 272 }, { 133, 10, 26 }, { 132, 10, 550 }, + { 137, 0, 812 }, { 10, 0, 233 }, { 139, 0, 76 }, { 134, 0, 988 }, + { 134, 0, 442 }, { 136, 10, 822 }, { 7, 0, 896 }, { 4, 10, 902 }, + { 5, 10, 809 }, { 134, 10, 122 }, { 5, 11, 150 }, { 7, 11, 106 }, + { 8, 11, 603 }, { 9, 11, 593 }, { 9, 11, 634 }, { 10, 11, 44 }, + { 10, 11, 173 }, { 11, 11, 462 }, { 11, 11, 515 }, { 13, 11, 216 }, + { 13, 11, 288 }, { 142, 11, 400 }, { 136, 0, 483 }, { 135, 10, 262 }, + { 6, 0, 1709 }, { 133, 10, 620 }, { 4, 10, 34 }, { 5, 10, 574 }, + { 7, 10, 279 }, { 7, 10, 1624 }, { 136, 10, 601 }, { 137, 10, 170 }, + { 147, 0, 119 }, { 12, 11, 108 }, { 141, 11, 291 }, { 11, 0, 69 }, + { 12, 0, 105 }, { 12, 0, 117 }, { 13, 0, 213 }, { 14, 0, 13 }, + { 14, 0, 62 }, { 14, 0, 177 }, { 14, 0, 421 }, { 15, 0, 19 }, + { 146, 0, 141 }, { 137, 0, 309 }, { 11, 11, 278 }, { 142, 11, 73 }, + { 7, 0, 608 }, { 7, 0, 976 }, { 9, 0, 146 }, { 10, 0, 206 }, + { 10, 0, 596 }, { 13, 0, 218 }, { 142, 0, 153 }, { 133, 10, 332 }, + { 6, 10, 261 }, { 8, 10, 182 }, { 139, 10, 943 }, { 4, 11, 493 }, + { 144, 11, 55 }, { 134, 10, 1721 }, { 132, 0, 768 }, { 4, 10, 933 }, + { 133, 10, 880 }, { 7, 11, 555 }, { 7, 11, 1316 }, { 7, 11, 1412 }, + { 7, 11, 1839 }, { 9, 11, 192 }, { 9, 11, 589 }, { 11, 11, 241 }, + { 11, 11, 676 }, { 11, 11, 811 }, { 11, 11, 891 }, { 12, 11, 140 }, + { 12, 11, 346 }, { 12, 11, 479 }, { 13, 11, 30 }, { 13, 11, 49 }, + { 13, 11, 381 }, { 14, 11, 188 }, { 15, 11, 150 }, { 16, 11, 76 }, + { 18, 11, 30 }, { 148, 11, 52 }, { 4, 0, 518 }, { 135, 0, 1136 }, + { 6, 11, 568 }, { 7, 11, 112 }, { 7, 11, 1804 }, { 8, 11, 362 }, + { 8, 11, 410 }, { 8, 11, 830 }, { 9, 11, 514 }, { 11, 11, 649 }, + { 142, 11, 157 }, { 135, 11, 673 }, { 8, 0, 689 }, { 137, 0, 863 }, + { 4, 0, 18 }, { 7, 0, 145 }, { 7, 0, 444 }, { 7, 0, 1278 }, + { 8, 0, 49 }, { 8, 0, 400 }, { 9, 0, 71 }, { 9, 0, 250 }, + { 10, 0, 459 }, { 12, 0, 160 }, { 16, 0, 24 }, { 132, 11, 625 }, + { 140, 0, 1020 }, { 4, 0, 997 }, { 6, 0, 1946 }, { 6, 0, 1984 }, + { 134, 0, 1998 }, { 6, 11, 16 }, { 6, 11, 158 }, { 7, 11, 43 }, + { 7, 11, 129 }, { 7, 11, 181 }, { 8, 11, 276 }, { 8, 11, 377 }, + { 10, 11, 523 }, { 11, 11, 816 }, { 12, 11, 455 }, { 13, 11, 303 }, + { 142, 11, 135 }, { 133, 10, 812 }, { 134, 0, 658 }, { 4, 11, 1 }, + { 7, 11, 1143 }, { 7, 11, 1463 }, { 8, 11, 61 }, { 9, 11, 207 }, + { 9, 11, 390 }, { 9, 11, 467 }, { 139, 11, 836 }, { 150, 11, 26 }, + { 140, 0, 106 }, { 6, 0, 1827 }, { 10, 0, 931 }, { 18, 0, 166 }, + { 20, 0, 114 }, { 4, 10, 137 }, { 7, 10, 1178 }, { 7, 11, 1319 }, + { 135, 10, 1520 }, { 133, 0, 1010 }, { 4, 11, 723 }, { 5, 11, 895 }, + { 7, 11, 1031 }, { 8, 11, 199 }, { 8, 11, 340 }, { 9, 11, 153 }, + { 9, 11, 215 }, { 10, 11, 21 }, { 10, 11, 59 }, { 10, 11, 80 }, + { 10, 11, 224 }, { 11, 11, 229 }, { 11, 11, 652 }, { 12, 11, 192 }, + { 13, 11, 146 }, { 142, 11, 91 }, { 132, 11, 295 }, { 6, 11, 619 }, + { 7, 11, 898 }, { 7, 11, 1092 }, { 8, 11, 485 }, { 18, 11, 28 }, + { 147, 11, 116 }, { 137, 11, 51 }, { 6, 10, 1661 }, { 7, 10, 1975 }, + { 7, 10, 2009 }, { 135, 10, 2011 }, { 5, 11, 309 }, { 140, 11, 211 }, + { 5, 0, 87 }, { 7, 0, 313 }, { 7, 0, 1103 }, { 10, 0, 208 }, + { 10, 0, 582 }, { 11, 0, 389 }, { 11, 0, 813 }, { 12, 0, 385 }, + { 13, 0, 286 }, { 14, 0, 124 }, { 146, 0, 108 }, { 5, 11, 125 }, + { 8, 11, 77 }, { 138, 11, 15 }, { 132, 0, 267 }, { 133, 0, 703 }, + { 137, 11, 155 }, { 133, 11, 439 }, { 11, 11, 164 }, { 140, 11, 76 }, + { 9, 0, 496 }, { 5, 10, 89 }, { 7, 10, 1915 }, { 9, 10, 185 }, + { 9, 10, 235 }, { 10, 10, 64 }, { 10, 10, 270 }, { 10, 10, 403 }, + { 10, 10, 469 }, { 10, 10, 529 }, { 10, 10, 590 }, { 11, 10, 140 }, + { 11, 10, 860 }, { 13, 10, 1 }, { 13, 10, 422 }, { 14, 10, 341 }, + { 14, 10, 364 }, { 17, 10, 93 }, { 18, 10, 113 }, { 19, 10, 97 }, + { 147, 10, 113 }, { 133, 10, 695 }, { 135, 0, 1121 }, { 5, 10, 6 }, + { 6, 10, 183 }, { 7, 10, 680 }, { 7, 10, 978 }, { 7, 10, 1013 }, + { 7, 10, 1055 }, { 12, 10, 230 }, { 13, 10, 172 }, { 146, 10, 29 }, + { 4, 11, 8 }, { 7, 11, 1152 }, { 7, 11, 1153 }, { 7, 11, 1715 }, + { 9, 11, 374 }, { 10, 11, 478 }, { 139, 11, 648 }, { 135, 11, 1099 }, + { 6, 10, 29 }, { 139, 10, 63 }, { 4, 0, 561 }, { 10, 0, 249 }, + { 139, 0, 209 }, { 132, 0, 760 }, { 7, 11, 799 }, { 138, 11, 511 }, + { 136, 11, 87 }, { 9, 0, 154 }, { 140, 0, 485 }, { 136, 0, 255 }, + { 132, 0, 323 }, { 140, 0, 419 }, { 132, 10, 311 }, { 134, 10, 1740 }, + { 4, 0, 368 }, { 135, 0, 641 }, { 7, 10, 170 }, { 8, 10, 90 }, + { 8, 10, 177 }, { 8, 10, 415 }, { 11, 10, 714 }, { 142, 10, 281 }, + { 4, 11, 69 }, { 5, 11, 122 }, { 9, 11, 656 }, { 138, 11, 464 }, + { 5, 11, 849 }, { 134, 11, 1633 }, { 8, 0, 522 }, { 142, 0, 328 }, + { 11, 10, 91 }, { 13, 10, 129 }, { 15, 10, 101 }, { 145, 10, 125 }, + { 7, 0, 562 }, { 8, 0, 551 }, { 4, 10, 494 }, { 6, 10, 74 }, + { 7, 10, 44 }, { 11, 11, 499 }, { 12, 10, 17 }, { 15, 10, 5 }, + { 148, 10, 11 }, { 4, 10, 276 }, { 133, 10, 296 }, { 9, 0, 92 }, + { 147, 0, 91 }, { 4, 10, 7 }, { 5, 10, 90 }, { 5, 10, 158 }, + { 6, 10, 542 }, { 7, 10, 221 }, { 7, 10, 1574 }, { 9, 10, 490 }, + { 10, 10, 540 }, { 11, 10, 443 }, { 139, 10, 757 }, { 6, 0, 525 }, + { 6, 0, 1976 }, { 8, 0, 806 }, { 9, 0, 876 }, { 140, 0, 284 }, + { 5, 11, 859 }, { 7, 10, 588 }, { 7, 11, 1160 }, { 8, 11, 107 }, + { 9, 10, 175 }, { 9, 11, 291 }, { 9, 11, 439 }, { 10, 10, 530 }, + { 10, 11, 663 }, { 11, 11, 609 }, { 140, 11, 197 }, { 7, 11, 168 }, + { 13, 11, 196 }, { 141, 11, 237 }, { 139, 0, 958 }, { 133, 0, 594 }, + { 135, 10, 580 }, { 7, 10, 88 }, { 136, 10, 627 }, { 6, 0, 479 }, + { 6, 0, 562 }, { 7, 0, 1060 }, { 13, 0, 6 }, { 5, 10, 872 }, + { 6, 10, 57 }, { 7, 10, 471 }, { 9, 10, 447 }, { 137, 10, 454 }, + { 136, 11, 413 }, { 145, 11, 19 }, { 4, 11, 117 }, { 6, 11, 372 }, + { 7, 11, 1905 }, { 142, 11, 323 }, { 4, 11, 722 }, { 139, 11, 471 }, + { 17, 0, 61 }, { 5, 10, 31 }, { 134, 10, 614 }, { 8, 10, 330 }, + { 140, 10, 477 }, { 7, 10, 1200 }, { 138, 10, 460 }, { 6, 10, 424 }, + { 135, 10, 1866 }, { 6, 0, 1641 }, { 136, 0, 820 }, { 6, 0, 1556 }, + { 134, 0, 1618 }, { 9, 11, 5 }, { 12, 11, 216 }, { 12, 11, 294 }, + { 12, 11, 298 }, { 12, 11, 400 }, { 12, 11, 518 }, { 13, 11, 229 }, + { 143, 11, 139 }, { 15, 11, 155 }, { 144, 11, 79 }, { 4, 0, 302 }, + { 135, 0, 1766 }, { 5, 10, 13 }, { 134, 10, 142 }, { 6, 0, 148 }, + { 7, 0, 1313 }, { 7, 10, 116 }, { 8, 10, 322 }, { 8, 10, 755 }, + { 9, 10, 548 }, { 10, 10, 714 }, { 11, 10, 884 }, { 141, 10, 324 }, + { 137, 0, 676 }, { 9, 11, 88 }, { 139, 11, 270 }, { 5, 11, 12 }, + { 7, 11, 375 }, { 137, 11, 438 }, { 134, 0, 1674 }, { 7, 10, 1472 }, + { 135, 10, 1554 }, { 11, 0, 178 }, { 7, 10, 1071 }, { 7, 10, 1541 }, + { 7, 10, 1767 }, { 7, 10, 1806 }, { 11, 10, 162 }, { 11, 10, 242 }, + { 12, 10, 605 }, { 15, 10, 26 }, { 144, 10, 44 }, { 6, 0, 389 }, + { 7, 0, 149 }, { 9, 0, 142 }, { 138, 0, 94 }, { 140, 11, 71 }, + { 145, 10, 115 }, { 6, 0, 8 }, { 7, 0, 1881 }, { 8, 0, 91 }, + { 11, 11, 966 }, { 12, 11, 287 }, { 13, 11, 342 }, { 13, 11, 402 }, + { 15, 11, 110 }, { 143, 11, 163 }, { 4, 11, 258 }, { 136, 11, 639 }, + { 6, 11, 22 }, { 7, 11, 903 }, { 138, 11, 577 }, { 133, 11, 681 }, + { 135, 10, 1111 }, { 135, 11, 1286 }, { 9, 0, 112 }, { 8, 10, 1 }, + { 138, 10, 326 }, { 5, 10, 488 }, { 6, 10, 527 }, { 7, 10, 489 }, + { 7, 10, 1636 }, { 8, 10, 121 }, { 8, 10, 144 }, { 8, 10, 359 }, + { 9, 10, 193 }, { 9, 10, 241 }, { 9, 10, 336 }, { 9, 10, 882 }, + { 11, 10, 266 }, { 11, 10, 372 }, { 11, 10, 944 }, { 12, 10, 401 }, + { 140, 10, 641 }, { 4, 11, 664 }, { 133, 11, 804 }, { 6, 0, 747 }, + { 134, 0, 1015 }, { 135, 0, 1746 }, { 9, 10, 31 }, { 10, 10, 244 }, + { 10, 10, 699 }, { 12, 10, 149 }, { 141, 10, 497 }, { 133, 10, 377 }, + { 135, 0, 24 }, { 6, 0, 1352 }, { 5, 11, 32 }, { 145, 10, 101 }, + { 7, 0, 1530 }, { 10, 0, 158 }, { 13, 0, 13 }, { 13, 0, 137 }, + { 13, 0, 258 }, { 14, 0, 111 }, { 14, 0, 225 }, { 14, 0, 253 }, + { 14, 0, 304 }, { 14, 0, 339 }, { 14, 0, 417 }, { 146, 0, 33 }, + { 4, 0, 503 }, { 135, 0, 1661 }, { 5, 0, 130 }, { 6, 0, 845 }, + { 7, 0, 1314 }, { 9, 0, 610 }, { 10, 0, 718 }, { 11, 0, 601 }, + { 11, 0, 819 }, { 11, 0, 946 }, { 140, 0, 536 }, { 10, 0, 149 }, + { 11, 0, 280 }, { 142, 0, 336 }, { 134, 0, 1401 }, { 135, 0, 1946 }, + { 8, 0, 663 }, { 144, 0, 8 }, { 134, 0, 1607 }, { 135, 10, 2023 }, + { 4, 11, 289 }, { 7, 11, 629 }, { 7, 11, 1698 }, { 7, 11, 1711 }, + { 140, 11, 215 }, { 6, 11, 450 }, { 136, 11, 109 }, { 10, 0, 882 }, + { 10, 0, 883 }, { 10, 0, 914 }, { 138, 0, 928 }, { 133, 10, 843 }, + { 136, 11, 705 }, { 132, 10, 554 }, { 133, 10, 536 }, { 5, 0, 417 }, + { 9, 10, 79 }, { 11, 10, 625 }, { 145, 10, 7 }, { 7, 11, 1238 }, + { 142, 11, 37 }, { 4, 0, 392 }, { 135, 0, 1597 }, { 5, 0, 433 }, + { 9, 0, 633 }, { 11, 0, 629 }, { 132, 10, 424 }, { 7, 10, 336 }, + { 136, 10, 785 }, { 134, 11, 355 }, { 6, 0, 234 }, { 7, 0, 769 }, + { 9, 0, 18 }, { 138, 0, 358 }, { 4, 10, 896 }, { 134, 10, 1777 }, + { 138, 11, 323 }, { 7, 0, 140 }, { 7, 0, 1950 }, { 8, 0, 680 }, + { 11, 0, 817 }, { 147, 0, 88 }, { 7, 0, 1222 }, { 138, 0, 386 }, + { 139, 11, 908 }, { 11, 0, 249 }, { 12, 0, 313 }, { 16, 0, 66 }, + { 145, 0, 26 }, { 134, 0, 5 }, { 7, 10, 750 }, { 9, 10, 223 }, + { 11, 10, 27 }, { 11, 10, 466 }, { 12, 10, 624 }, { 14, 10, 265 }, + { 146, 10, 61 }, { 134, 11, 26 }, { 134, 0, 1216 }, { 5, 0, 963 }, + { 134, 0, 1773 }, { 4, 11, 414 }, { 5, 11, 467 }, { 9, 11, 654 }, + { 10, 11, 451 }, { 12, 11, 59 }, { 141, 11, 375 }, { 135, 11, 17 }, + { 4, 10, 603 }, { 133, 10, 661 }, { 4, 10, 11 }, { 6, 10, 128 }, + { 7, 10, 231 }, { 7, 10, 1533 }, { 138, 10, 725 }, { 135, 11, 955 }, + { 7, 0, 180 }, { 8, 0, 509 }, { 136, 0, 792 }, { 132, 10, 476 }, + { 132, 0, 1002 }, { 133, 11, 538 }, { 135, 10, 1807 }, { 132, 0, 931 }, + { 7, 0, 943 }, { 11, 0, 614 }, { 140, 0, 747 }, { 135, 0, 1837 }, + { 9, 10, 20 }, { 10, 10, 324 }, { 10, 10, 807 }, { 139, 10, 488 }, + { 134, 0, 641 }, { 6, 11, 280 }, { 10, 11, 502 }, { 11, 11, 344 }, + { 140, 11, 38 }, { 5, 11, 45 }, { 7, 11, 1161 }, { 11, 11, 448 }, + { 11, 11, 880 }, { 13, 11, 139 }, { 13, 11, 407 }, { 15, 11, 16 }, + { 17, 11, 95 }, { 18, 11, 66 }, { 18, 11, 88 }, { 18, 11, 123 }, + { 149, 11, 7 }, { 9, 0, 280 }, { 138, 0, 134 }, { 22, 0, 22 }, + { 23, 0, 5 }, { 151, 0, 29 }, { 136, 11, 777 }, { 4, 0, 90 }, + { 5, 0, 545 }, { 7, 0, 754 }, { 9, 0, 186 }, { 10, 0, 72 }, + { 10, 0, 782 }, { 11, 0, 577 }, { 11, 0, 610 }, { 11, 0, 960 }, + { 12, 0, 354 }, { 12, 0, 362 }, { 12, 0, 595 }, { 4, 11, 410 }, + { 135, 11, 521 }, { 135, 11, 1778 }, { 5, 10, 112 }, { 6, 10, 103 }, + { 134, 10, 150 }, { 138, 10, 356 }, { 132, 0, 742 }, { 7, 0, 151 }, + { 9, 0, 329 }, { 139, 0, 254 }, { 8, 0, 853 }, { 8, 0, 881 }, + { 8, 0, 911 }, { 8, 0, 912 }, { 10, 0, 872 }, { 12, 0, 741 }, + { 12, 0, 742 }, { 152, 0, 18 }, { 4, 11, 573 }, { 136, 11, 655 }, + { 6, 0, 921 }, { 134, 0, 934 }, { 9, 0, 187 }, { 10, 0, 36 }, + { 11, 0, 1016 }, { 17, 0, 44 }, { 146, 0, 64 }, { 7, 0, 833 }, + { 136, 0, 517 }, { 4, 0, 506 }, { 5, 0, 295 }, { 135, 0, 1680 }, + { 4, 10, 708 }, { 8, 10, 15 }, { 9, 10, 50 }, { 9, 10, 386 }, + { 11, 10, 18 }, { 11, 10, 529 }, { 140, 10, 228 }, { 7, 0, 251 }, + { 7, 0, 1701 }, { 8, 0, 436 }, { 4, 10, 563 }, { 7, 10, 592 }, + { 7, 10, 637 }, { 7, 10, 770 }, { 8, 10, 463 }, { 9, 10, 60 }, + { 9, 10, 335 }, { 9, 10, 904 }, { 10, 10, 73 }, { 11, 10, 434 }, + { 12, 10, 585 }, { 13, 10, 331 }, { 18, 10, 110 }, { 148, 10, 60 }, + { 132, 10, 502 }, { 136, 0, 584 }, { 6, 10, 347 }, { 138, 10, 161 }, + { 7, 0, 987 }, { 9, 0, 688 }, { 10, 0, 522 }, { 11, 0, 788 }, + { 12, 0, 137 }, { 12, 0, 566 }, { 14, 0, 9 }, { 14, 0, 24 }, + { 14, 0, 64 }, { 7, 11, 899 }, { 142, 11, 325 }, { 4, 0, 214 }, + { 5, 0, 500 }, { 5, 10, 102 }, { 6, 10, 284 }, { 7, 10, 1079 }, + { 7, 10, 1423 }, { 7, 10, 1702 }, { 8, 10, 470 }, { 9, 10, 554 }, + { 9, 10, 723 }, { 139, 10, 333 }, { 7, 10, 246 }, { 135, 10, 840 }, + { 6, 10, 10 }, { 8, 10, 571 }, { 9, 10, 739 }, { 143, 10, 91 }, + { 133, 10, 626 }, { 146, 0, 195 }, { 134, 0, 1775 }, { 7, 0, 389 }, + { 7, 0, 700 }, { 7, 0, 940 }, { 8, 0, 514 }, { 9, 0, 116 }, + { 9, 0, 535 }, { 10, 0, 118 }, { 11, 0, 107 }, { 11, 0, 148 }, + { 11, 0, 922 }, { 12, 0, 254 }, { 12, 0, 421 }, { 142, 0, 238 }, + { 5, 10, 18 }, { 6, 10, 526 }, { 13, 10, 24 }, { 13, 10, 110 }, + { 19, 10, 5 }, { 147, 10, 44 }, { 132, 0, 743 }, { 11, 0, 292 }, + { 4, 10, 309 }, { 5, 10, 462 }, { 7, 10, 970 }, { 135, 10, 1097 }, + { 22, 10, 30 }, { 150, 10, 33 }, { 139, 11, 338 }, { 135, 11, 1598 }, + { 7, 0, 1283 }, { 9, 0, 227 }, { 11, 0, 325 }, { 11, 0, 408 }, + { 14, 0, 180 }, { 146, 0, 47 }, { 4, 0, 953 }, { 6, 0, 1805 }, + { 6, 0, 1814 }, { 6, 0, 1862 }, { 140, 0, 774 }, { 6, 11, 611 }, + { 135, 11, 1733 }, { 135, 11, 1464 }, { 5, 0, 81 }, { 7, 0, 146 }, + { 7, 0, 1342 }, { 8, 0, 53 }, { 8, 0, 561 }, { 8, 0, 694 }, + { 8, 0, 754 }, { 9, 0, 115 }, { 9, 0, 179 }, { 9, 0, 894 }, + { 10, 0, 462 }, { 10, 0, 813 }, { 11, 0, 230 }, { 11, 0, 657 }, + { 11, 0, 699 }, { 11, 0, 748 }, { 12, 0, 119 }, { 12, 0, 200 }, + { 12, 0, 283 }, { 142, 0, 273 }, { 5, 0, 408 }, { 6, 0, 789 }, + { 6, 0, 877 }, { 6, 0, 1253 }, { 6, 0, 1413 }, { 137, 0, 747 }, + { 134, 10, 1704 }, { 135, 11, 663 }, { 6, 0, 1910 }, { 6, 0, 1915 }, + { 6, 0, 1923 }, { 9, 0, 913 }, { 9, 0, 928 }, { 9, 0, 950 }, + { 9, 0, 954 }, { 9, 0, 978 }, { 9, 0, 993 }, { 12, 0, 812 }, + { 12, 0, 819 }, { 12, 0, 831 }, { 12, 0, 833 }, { 12, 0, 838 }, + { 12, 0, 909 }, { 12, 0, 928 }, { 12, 0, 931 }, { 12, 0, 950 }, + { 15, 0, 186 }, { 15, 0, 187 }, { 15, 0, 195 }, { 15, 0, 196 }, + { 15, 0, 209 }, { 15, 0, 215 }, { 15, 0, 236 }, { 15, 0, 241 }, + { 15, 0, 249 }, { 15, 0, 253 }, { 18, 0, 180 }, { 18, 0, 221 }, + { 18, 0, 224 }, { 18, 0, 227 }, { 18, 0, 229 }, { 149, 0, 60 }, + { 7, 0, 1826 }, { 135, 0, 1938 }, { 11, 0, 490 }, { 18, 0, 143 }, + { 5, 10, 86 }, { 7, 10, 743 }, { 9, 10, 85 }, { 10, 10, 281 }, + { 10, 10, 432 }, { 12, 10, 251 }, { 13, 10, 118 }, { 142, 10, 378 }, + { 5, 10, 524 }, { 133, 10, 744 }, { 141, 11, 442 }, { 10, 10, 107 }, + { 140, 10, 436 }, { 135, 11, 503 }, { 134, 0, 1162 }, { 132, 10, 927 }, + { 7, 0, 30 }, { 8, 0, 86 }, { 8, 0, 315 }, { 8, 0, 700 }, + { 9, 0, 576 }, { 9, 0, 858 }, { 10, 0, 414 }, { 11, 0, 310 }, + { 11, 0, 888 }, { 11, 0, 904 }, { 12, 0, 361 }, { 13, 0, 248 }, + { 13, 0, 371 }, { 14, 0, 142 }, { 12, 10, 670 }, { 146, 10, 94 }, + { 134, 0, 721 }, { 4, 11, 113 }, { 5, 11, 163 }, { 5, 11, 735 }, + { 7, 11, 1009 }, { 7, 10, 1149 }, { 9, 11, 9 }, { 9, 10, 156 }, + { 9, 11, 771 }, { 12, 11, 90 }, { 13, 11, 138 }, { 13, 11, 410 }, + { 143, 11, 128 }, { 138, 0, 839 }, { 133, 10, 778 }, { 137, 0, 617 }, + { 133, 10, 502 }, { 8, 10, 196 }, { 10, 10, 283 }, { 139, 10, 406 }, + { 6, 0, 428 }, { 7, 0, 524 }, { 8, 0, 169 }, { 8, 0, 234 }, + { 9, 0, 480 }, { 138, 0, 646 }, { 133, 10, 855 }, { 134, 0, 1648 }, + { 7, 0, 1205 }, { 138, 0, 637 }, { 7, 0, 1596 }, { 4, 11, 935 }, + { 133, 11, 823 }, { 5, 11, 269 }, { 7, 11, 434 }, { 7, 11, 891 }, + { 8, 11, 339 }, { 9, 11, 702 }, { 11, 11, 594 }, { 11, 11, 718 }, + { 145, 11, 100 }, { 7, 11, 878 }, { 9, 11, 485 }, { 141, 11, 264 }, + { 4, 0, 266 }, { 8, 0, 4 }, { 9, 0, 39 }, { 10, 0, 166 }, + { 11, 0, 918 }, { 12, 0, 635 }, { 20, 0, 10 }, { 22, 0, 27 }, + { 22, 0, 43 }, { 22, 0, 52 }, { 134, 11, 1713 }, { 7, 10, 1400 }, + { 9, 10, 446 }, { 138, 10, 45 }, { 135, 11, 900 }, { 132, 0, 862 }, + { 134, 0, 1554 }, { 135, 11, 1033 }, { 19, 0, 16 }, { 147, 11, 16 }, + { 135, 11, 1208 }, { 7, 0, 157 }, { 136, 0, 279 }, { 6, 0, 604 }, + { 136, 0, 391 }, { 13, 10, 455 }, { 15, 10, 99 }, { 15, 10, 129 }, + { 144, 10, 68 }, { 135, 10, 172 }, { 7, 0, 945 }, { 11, 0, 713 }, + { 139, 0, 744 }, { 4, 0, 973 }, { 10, 0, 877 }, { 10, 0, 937 }, + { 10, 0, 938 }, { 140, 0, 711 }, { 139, 0, 1022 }, { 132, 10, 568 }, + { 142, 11, 143 }, { 4, 0, 567 }, { 9, 0, 859 }, { 132, 10, 732 }, + { 7, 0, 1846 }, { 136, 0, 628 }, { 136, 10, 733 }, { 133, 0, 762 }, + { 4, 10, 428 }, { 135, 10, 1789 }, { 10, 0, 784 }, { 13, 0, 191 }, + { 7, 10, 2015 }, { 140, 10, 665 }, { 133, 0, 298 }, { 7, 0, 633 }, + { 7, 0, 905 }, { 7, 0, 909 }, { 7, 0, 1538 }, { 9, 0, 767 }, + { 140, 0, 636 }, { 138, 10, 806 }, { 132, 0, 795 }, { 139, 0, 301 }, + { 135, 0, 1970 }, { 5, 11, 625 }, { 135, 11, 1617 }, { 135, 11, 275 }, + { 7, 11, 37 }, { 8, 11, 425 }, { 8, 11, 693 }, { 9, 11, 720 }, + { 10, 11, 380 }, { 10, 11, 638 }, { 11, 11, 273 }, { 11, 11, 307 }, + { 11, 11, 473 }, { 12, 11, 61 }, { 143, 11, 43 }, { 135, 11, 198 }, + { 134, 0, 1236 }, { 7, 0, 369 }, { 12, 0, 644 }, { 12, 0, 645 }, + { 144, 0, 90 }, { 19, 0, 15 }, { 149, 0, 27 }, { 6, 0, 71 }, + { 7, 0, 845 }, { 8, 0, 160 }, { 9, 0, 318 }, { 6, 10, 1623 }, + { 134, 10, 1681 }, { 134, 0, 1447 }, { 134, 0, 1255 }, { 138, 0, 735 }, + { 8, 0, 76 }, { 132, 11, 168 }, { 6, 10, 1748 }, { 8, 10, 715 }, + { 9, 10, 802 }, { 10, 10, 46 }, { 10, 10, 819 }, { 13, 10, 308 }, + { 14, 10, 351 }, { 14, 10, 363 }, { 146, 10, 67 }, { 135, 11, 91 }, + { 6, 0, 474 }, { 4, 10, 63 }, { 133, 10, 347 }, { 133, 10, 749 }, + { 138, 0, 841 }, { 133, 10, 366 }, { 6, 0, 836 }, { 132, 11, 225 }, + { 135, 0, 1622 }, { 135, 10, 89 }, { 140, 0, 735 }, { 134, 0, 1601 }, + { 138, 11, 145 }, { 6, 0, 1390 }, { 137, 0, 804 }, { 142, 0, 394 }, + { 6, 11, 15 }, { 7, 11, 70 }, { 10, 11, 240 }, { 147, 11, 93 }, + { 6, 0, 96 }, { 135, 0, 1426 }, { 4, 0, 651 }, { 133, 0, 289 }, + { 7, 11, 956 }, { 7, 10, 977 }, { 7, 11, 1157 }, { 7, 11, 1506 }, + { 7, 11, 1606 }, { 7, 11, 1615 }, { 7, 11, 1619 }, { 7, 11, 1736 }, + { 7, 11, 1775 }, { 8, 11, 590 }, { 9, 11, 324 }, { 9, 11, 736 }, + { 9, 11, 774 }, { 9, 11, 776 }, { 9, 11, 784 }, { 10, 11, 567 }, + { 10, 11, 708 }, { 11, 11, 518 }, { 11, 11, 613 }, { 11, 11, 695 }, + { 11, 11, 716 }, { 11, 11, 739 }, { 11, 11, 770 }, { 11, 11, 771 }, + { 11, 11, 848 }, { 11, 11, 857 }, { 11, 11, 931 }, { 11, 11, 947 }, + { 12, 11, 326 }, { 12, 11, 387 }, { 12, 11, 484 }, { 12, 11, 528 }, + { 12, 11, 552 }, { 12, 11, 613 }, { 13, 11, 189 }, { 13, 11, 256 }, + { 13, 11, 340 }, { 13, 11, 432 }, { 13, 11, 436 }, { 13, 11, 440 }, + { 13, 11, 454 }, { 14, 11, 174 }, { 14, 11, 220 }, { 14, 11, 284 }, + { 14, 11, 390 }, { 145, 11, 121 }, { 7, 0, 688 }, { 8, 0, 35 }, + { 9, 0, 511 }, { 10, 0, 767 }, { 147, 0, 118 }, { 134, 0, 667 }, + { 4, 0, 513 }, { 5, 10, 824 }, { 133, 10, 941 }, { 7, 10, 440 }, + { 8, 10, 230 }, { 139, 10, 106 }, { 134, 0, 2034 }, { 135, 11, 1399 }, + { 143, 11, 66 }, { 135, 11, 1529 }, { 4, 11, 145 }, { 6, 11, 176 }, + { 7, 11, 395 }, { 9, 11, 562 }, { 144, 11, 28 }, { 132, 11, 501 }, + { 132, 0, 704 }, { 134, 0, 1524 }, { 7, 0, 1078 }, { 134, 11, 464 }, + { 6, 11, 509 }, { 10, 11, 82 }, { 20, 11, 91 }, { 151, 11, 13 }, + { 4, 0, 720 }, { 133, 0, 306 }, { 133, 0, 431 }, { 7, 0, 1196 }, + { 4, 10, 914 }, { 5, 10, 800 }, { 133, 10, 852 }, { 135, 11, 1189 }, + { 10, 0, 54 }, { 141, 10, 115 }, { 7, 10, 564 }, { 142, 10, 168 }, + { 5, 0, 464 }, { 6, 0, 236 }, { 7, 0, 696 }, { 7, 0, 914 }, + { 7, 0, 1108 }, { 7, 0, 1448 }, { 9, 0, 15 }, { 9, 0, 564 }, + { 10, 0, 14 }, { 12, 0, 565 }, { 13, 0, 449 }, { 14, 0, 53 }, + { 15, 0, 13 }, { 16, 0, 64 }, { 17, 0, 41 }, { 4, 10, 918 }, + { 133, 10, 876 }, { 6, 0, 1418 }, { 134, 10, 1764 }, { 4, 10, 92 }, + { 133, 10, 274 }, { 134, 0, 907 }, { 4, 11, 114 }, { 8, 10, 501 }, + { 9, 11, 492 }, { 13, 11, 462 }, { 142, 11, 215 }, { 4, 11, 77 }, + { 5, 11, 361 }, { 6, 11, 139 }, { 6, 11, 401 }, { 6, 11, 404 }, + { 7, 11, 413 }, { 7, 11, 715 }, { 7, 11, 1716 }, { 11, 11, 279 }, + { 12, 11, 179 }, { 12, 11, 258 }, { 13, 11, 244 }, { 142, 11, 358 }, + { 6, 0, 1767 }, { 12, 0, 194 }, { 145, 0, 107 }, { 134, 11, 1717 }, + { 5, 10, 743 }, { 142, 11, 329 }, { 4, 10, 49 }, { 7, 10, 280 }, + { 135, 10, 1633 }, { 5, 0, 840 }, { 7, 11, 1061 }, { 8, 11, 82 }, + { 11, 11, 250 }, { 12, 11, 420 }, { 141, 11, 184 }, { 135, 11, 724 }, + { 134, 0, 900 }, { 136, 10, 47 }, { 134, 0, 1436 }, { 144, 11, 0 }, + { 6, 0, 675 }, { 7, 0, 1008 }, { 7, 0, 1560 }, { 9, 0, 642 }, + { 11, 0, 236 }, { 14, 0, 193 }, { 5, 10, 272 }, { 5, 10, 908 }, + { 5, 10, 942 }, { 8, 10, 197 }, { 9, 10, 47 }, { 11, 10, 538 }, + { 139, 10, 742 }, { 4, 0, 68 }, { 5, 0, 628 }, { 5, 0, 634 }, + { 6, 0, 386 }, { 7, 0, 794 }, { 8, 0, 273 }, { 9, 0, 563 }, + { 10, 0, 105 }, { 10, 0, 171 }, { 11, 0, 94 }, { 139, 0, 354 }, + { 135, 10, 1911 }, { 137, 10, 891 }, { 4, 0, 95 }, { 6, 0, 1297 }, + { 6, 0, 1604 }, { 7, 0, 416 }, { 139, 0, 830 }, { 6, 11, 513 }, + { 135, 11, 1052 }, { 7, 0, 731 }, { 13, 0, 20 }, { 143, 0, 11 }, + { 137, 11, 899 }, { 10, 0, 850 }, { 140, 0, 697 }, { 4, 0, 662 }, + { 7, 11, 1417 }, { 12, 11, 382 }, { 17, 11, 48 }, { 152, 11, 12 }, + { 133, 0, 736 }, { 132, 0, 861 }, { 4, 10, 407 }, { 132, 10, 560 }, + { 141, 10, 490 }, { 6, 11, 545 }, { 7, 11, 565 }, { 7, 11, 1669 }, + { 10, 11, 114 }, { 11, 11, 642 }, { 140, 11, 618 }, { 6, 0, 871 }, + { 134, 0, 1000 }, { 5, 0, 864 }, { 10, 0, 648 }, { 11, 0, 671 }, + { 15, 0, 46 }, { 133, 11, 5 }, { 133, 0, 928 }, { 11, 0, 90 }, + { 13, 0, 7 }, { 4, 10, 475 }, { 11, 10, 35 }, { 13, 10, 71 }, + { 13, 10, 177 }, { 142, 10, 422 }, { 136, 0, 332 }, { 135, 11, 192 }, + { 134, 0, 1055 }, { 136, 11, 763 }, { 11, 0, 986 }, { 140, 0, 682 }, + { 7, 0, 76 }, { 8, 0, 44 }, { 9, 0, 884 }, { 10, 0, 580 }, + { 11, 0, 399 }, { 11, 0, 894 }, { 143, 0, 122 }, { 135, 11, 1237 }, + { 135, 10, 636 }, { 11, 0, 300 }, { 6, 10, 222 }, { 7, 10, 1620 }, + { 8, 10, 409 }, { 137, 10, 693 }, { 4, 11, 87 }, { 5, 11, 250 }, + { 10, 11, 601 }, { 13, 11, 298 }, { 13, 11, 353 }, { 141, 11, 376 }, + { 5, 0, 518 }, { 10, 0, 340 }, { 11, 0, 175 }, { 149, 0, 16 }, + { 140, 0, 771 }, { 6, 0, 1108 }, { 137, 0, 831 }, { 132, 0, 836 }, + { 135, 0, 1852 }, { 4, 0, 957 }, { 6, 0, 1804 }, { 8, 0, 842 }, + { 8, 0, 843 }, { 8, 0, 851 }, { 8, 0, 855 }, { 140, 0, 767 }, + { 135, 11, 814 }, { 4, 11, 57 }, { 7, 11, 1195 }, { 7, 11, 1438 }, + { 7, 11, 1548 }, { 7, 11, 1835 }, { 7, 11, 1904 }, { 9, 11, 757 }, + { 10, 11, 604 }, { 139, 11, 519 }, { 133, 10, 882 }, { 138, 0, 246 }, + { 4, 0, 934 }, { 5, 0, 202 }, { 8, 0, 610 }, { 7, 11, 1897 }, + { 12, 11, 290 }, { 13, 11, 80 }, { 13, 11, 437 }, { 145, 11, 74 }, + { 8, 0, 96 }, { 9, 0, 36 }, { 10, 0, 607 }, { 10, 0, 804 }, + { 10, 0, 832 }, { 11, 0, 423 }, { 11, 0, 442 }, { 12, 0, 309 }, + { 14, 0, 199 }, { 15, 0, 90 }, { 145, 0, 110 }, { 132, 10, 426 }, + { 7, 0, 654 }, { 8, 0, 240 }, { 6, 10, 58 }, { 7, 10, 745 }, + { 7, 10, 1969 }, { 8, 10, 675 }, { 9, 10, 479 }, { 9, 10, 731 }, + { 10, 10, 330 }, { 10, 10, 593 }, { 10, 10, 817 }, { 11, 10, 32 }, + { 11, 10, 133 }, { 11, 10, 221 }, { 145, 10, 68 }, { 9, 0, 13 }, + { 9, 0, 398 }, { 9, 0, 727 }, { 10, 0, 75 }, { 10, 0, 184 }, + { 10, 0, 230 }, { 10, 0, 564 }, { 10, 0, 569 }, { 11, 0, 973 }, + { 12, 0, 70 }, { 12, 0, 189 }, { 13, 0, 57 }, { 141, 0, 257 }, + { 4, 11, 209 }, { 135, 11, 902 }, { 7, 0, 391 }, { 137, 10, 538 }, + { 134, 0, 403 }, { 6, 11, 303 }, { 7, 11, 335 }, { 7, 11, 1437 }, + { 7, 11, 1668 }, { 8, 11, 553 }, { 8, 11, 652 }, { 8, 11, 656 }, + { 9, 11, 558 }, { 11, 11, 743 }, { 149, 11, 18 }, { 132, 11, 559 }, + { 11, 0, 75 }, { 142, 0, 267 }, { 6, 0, 815 }, { 141, 11, 2 }, + { 141, 0, 366 }, { 137, 0, 631 }, { 133, 11, 1017 }, { 5, 0, 345 }, + { 135, 0, 1016 }, { 133, 11, 709 }, { 134, 11, 1745 }, { 133, 10, 566 }, + { 7, 0, 952 }, { 6, 10, 48 }, { 9, 10, 139 }, { 10, 10, 399 }, + { 11, 10, 469 }, { 12, 10, 634 }, { 141, 10, 223 }, { 133, 0, 673 }, + { 9, 0, 850 }, { 7, 11, 8 }, { 136, 11, 206 }, { 6, 0, 662 }, + { 149, 0, 35 }, { 4, 0, 287 }, { 133, 0, 1018 }, { 6, 10, 114 }, + { 7, 10, 1224 }, { 7, 10, 1556 }, { 136, 10, 3 }, { 8, 10, 576 }, + { 137, 10, 267 }, { 4, 0, 884 }, { 5, 0, 34 }, { 10, 0, 724 }, + { 12, 0, 444 }, { 13, 0, 354 }, { 18, 0, 32 }, { 23, 0, 24 }, + { 23, 0, 31 }, { 152, 0, 5 }, { 133, 10, 933 }, { 132, 11, 776 }, + { 138, 0, 151 }, { 136, 0, 427 }, { 134, 0, 382 }, { 132, 0, 329 }, + { 9, 0, 846 }, { 10, 0, 827 }, { 138, 11, 33 }, { 9, 0, 279 }, + { 10, 0, 407 }, { 14, 0, 84 }, { 22, 0, 18 }, { 135, 11, 1297 }, + { 136, 11, 406 }, { 132, 0, 906 }, { 136, 0, 366 }, { 134, 0, 843 }, + { 134, 0, 1443 }, { 135, 0, 1372 }, { 138, 0, 992 }, { 4, 0, 123 }, + { 5, 0, 605 }, { 7, 0, 1509 }, { 136, 0, 36 }, { 132, 0, 649 }, + { 8, 11, 175 }, { 10, 11, 168 }, { 138, 11, 573 }, { 133, 0, 767 }, + { 134, 0, 1018 }, { 135, 11, 1305 }, { 12, 10, 30 }, { 13, 10, 148 }, + { 14, 10, 87 }, { 14, 10, 182 }, { 16, 10, 42 }, { 148, 10, 70 }, + { 134, 11, 607 }, { 4, 0, 273 }, { 5, 0, 658 }, { 133, 0, 995 }, + { 6, 0, 72 }, { 139, 11, 174 }, { 10, 0, 483 }, { 12, 0, 368 }, + { 7, 10, 56 }, { 7, 10, 1989 }, { 8, 10, 337 }, { 8, 10, 738 }, + { 9, 10, 600 }, { 13, 10, 447 }, { 142, 10, 92 }, { 5, 11, 784 }, + { 138, 10, 666 }, { 135, 0, 1345 }, { 139, 11, 882 }, { 134, 0, 1293 }, + { 133, 0, 589 }, { 134, 0, 1988 }, { 5, 0, 117 }, { 6, 0, 514 }, + { 6, 0, 541 }, { 7, 0, 1164 }, { 7, 0, 1436 }, { 8, 0, 220 }, + { 8, 0, 648 }, { 10, 0, 688 }, { 139, 0, 560 }, { 136, 0, 379 }, + { 5, 0, 686 }, { 7, 10, 866 }, { 135, 10, 1163 }, { 132, 10, 328 }, + { 9, 11, 14 }, { 9, 11, 441 }, { 10, 11, 306 }, { 139, 11, 9 }, + { 4, 10, 101 }, { 135, 10, 1171 }, { 5, 10, 833 }, { 136, 10, 744 }, + { 5, 11, 161 }, { 7, 11, 839 }, { 135, 11, 887 }, { 7, 0, 196 }, + { 10, 0, 765 }, { 11, 0, 347 }, { 11, 0, 552 }, { 11, 0, 790 }, + { 12, 0, 263 }, { 13, 0, 246 }, { 13, 0, 270 }, { 13, 0, 395 }, + { 14, 0, 176 }, { 14, 0, 190 }, { 14, 0, 398 }, { 14, 0, 412 }, + { 15, 0, 32 }, { 15, 0, 63 }, { 16, 0, 88 }, { 147, 0, 105 }, + { 6, 10, 9 }, { 6, 10, 397 }, { 7, 10, 53 }, { 7, 10, 1742 }, + { 10, 10, 632 }, { 11, 10, 828 }, { 140, 10, 146 }, { 5, 0, 381 }, + { 135, 0, 1792 }, { 134, 0, 1452 }, { 135, 11, 429 }, { 8, 0, 367 }, + { 10, 0, 760 }, { 14, 0, 79 }, { 20, 0, 17 }, { 152, 0, 0 }, + { 7, 0, 616 }, { 138, 0, 413 }, { 11, 10, 417 }, { 12, 10, 223 }, + { 140, 10, 265 }, { 7, 11, 1611 }, { 13, 11, 14 }, { 15, 11, 44 }, + { 19, 11, 13 }, { 148, 11, 76 }, { 135, 0, 1229 }, { 6, 0, 120 }, + { 7, 0, 1188 }, { 7, 0, 1710 }, { 8, 0, 286 }, { 9, 0, 667 }, + { 11, 0, 592 }, { 139, 0, 730 }, { 135, 11, 1814 }, { 135, 0, 1146 }, + { 4, 10, 186 }, { 5, 10, 157 }, { 8, 10, 168 }, { 138, 10, 6 }, + { 4, 0, 352 }, { 135, 0, 687 }, { 4, 0, 192 }, { 5, 0, 49 }, + { 6, 0, 200 }, { 6, 0, 293 }, { 6, 0, 1696 }, { 135, 0, 1151 }, + { 133, 10, 875 }, { 5, 10, 773 }, { 5, 10, 991 }, { 6, 10, 1635 }, + { 134, 10, 1788 }, { 7, 10, 111 }, { 136, 10, 581 }, { 6, 0, 935 }, + { 134, 0, 1151 }, { 134, 0, 1050 }, { 132, 0, 650 }, { 132, 0, 147 }, + { 11, 0, 194 }, { 12, 0, 62 }, { 12, 0, 88 }, { 11, 11, 194 }, + { 12, 11, 62 }, { 140, 11, 88 }, { 6, 0, 339 }, { 135, 0, 923 }, + { 134, 10, 1747 }, { 7, 11, 643 }, { 136, 11, 236 }, { 133, 0, 934 }, + { 7, 10, 1364 }, { 7, 10, 1907 }, { 141, 10, 158 }, { 132, 10, 659 }, + { 4, 10, 404 }, { 135, 10, 675 }, { 7, 11, 581 }, { 9, 11, 644 }, + { 137, 11, 699 }, { 13, 0, 211 }, { 14, 0, 133 }, { 14, 0, 204 }, + { 15, 0, 64 }, { 15, 0, 69 }, { 15, 0, 114 }, { 16, 0, 10 }, + { 19, 0, 23 }, { 19, 0, 35 }, { 19, 0, 39 }, { 19, 0, 51 }, + { 19, 0, 71 }, { 19, 0, 75 }, { 152, 0, 15 }, { 133, 10, 391 }, + { 5, 11, 54 }, { 135, 11, 1513 }, { 7, 0, 222 }, { 8, 0, 341 }, + { 5, 10, 540 }, { 134, 10, 1697 }, { 134, 10, 78 }, { 132, 11, 744 }, + { 136, 0, 293 }, { 137, 11, 701 }, { 7, 11, 930 }, { 10, 11, 402 }, + { 10, 11, 476 }, { 13, 11, 452 }, { 18, 11, 55 }, { 147, 11, 104 }, + { 132, 0, 637 }, { 133, 10, 460 }, { 8, 11, 50 }, { 137, 11, 624 }, + { 132, 11, 572 }, { 134, 0, 1159 }, { 4, 10, 199 }, { 139, 10, 34 }, + { 134, 0, 847 }, { 134, 10, 388 }, { 6, 11, 43 }, { 7, 11, 38 }, + { 8, 11, 248 }, { 9, 11, 504 }, { 138, 11, 513 }, { 9, 0, 683 }, + { 4, 10, 511 }, { 6, 10, 608 }, { 9, 10, 333 }, { 10, 10, 602 }, + { 11, 10, 441 }, { 11, 10, 723 }, { 11, 10, 976 }, { 140, 10, 357 }, + { 9, 0, 867 }, { 138, 0, 837 }, { 6, 0, 944 }, { 135, 11, 326 }, + { 135, 0, 1809 }, { 5, 10, 938 }, { 7, 11, 783 }, { 136, 10, 707 }, + { 133, 11, 766 }, { 133, 11, 363 }, { 6, 0, 170 }, { 7, 0, 1080 }, + { 8, 0, 395 }, { 8, 0, 487 }, { 141, 0, 147 }, { 6, 11, 258 }, + { 140, 11, 409 }, { 4, 0, 535 }, { 8, 0, 618 }, { 5, 11, 249 }, + { 148, 11, 82 }, { 6, 0, 1379 }, { 149, 11, 15 }, { 135, 0, 1625 }, + { 150, 0, 23 }, { 5, 11, 393 }, { 6, 11, 378 }, { 7, 11, 1981 }, + { 9, 11, 32 }, { 9, 11, 591 }, { 10, 11, 685 }, { 10, 11, 741 }, + { 142, 11, 382 }, { 133, 11, 788 }, { 7, 11, 1968 }, { 10, 11, 19 }, + { 139, 11, 911 }, { 7, 11, 1401 }, { 135, 11, 1476 }, { 4, 11, 61 }, + { 5, 11, 58 }, { 5, 11, 171 }, { 5, 11, 635 }, { 5, 11, 683 }, + { 5, 11, 700 }, { 6, 11, 291 }, { 6, 11, 566 }, { 7, 11, 1650 }, + { 11, 11, 523 }, { 12, 11, 273 }, { 12, 11, 303 }, { 15, 11, 39 }, + { 143, 11, 111 }, { 6, 10, 469 }, { 7, 10, 1709 }, { 138, 10, 515 }, + { 4, 0, 778 }, { 134, 11, 589 }, { 132, 0, 46 }, { 5, 0, 811 }, + { 6, 0, 1679 }, { 6, 0, 1714 }, { 135, 0, 2032 }, { 7, 0, 1458 }, + { 9, 0, 407 }, { 11, 0, 15 }, { 12, 0, 651 }, { 149, 0, 37 }, + { 7, 0, 938 }, { 132, 10, 500 }, { 6, 0, 34 }, { 7, 0, 69 }, + { 7, 0, 1089 }, { 7, 0, 1281 }, { 8, 0, 708 }, { 8, 0, 721 }, + { 9, 0, 363 }, { 148, 0, 98 }, { 10, 11, 231 }, { 147, 11, 124 }, + { 7, 11, 726 }, { 152, 11, 9 }, { 5, 10, 68 }, { 134, 10, 383 }, + { 136, 11, 583 }, { 4, 11, 917 }, { 133, 11, 1005 }, { 11, 10, 216 }, + { 139, 10, 340 }, { 135, 11, 1675 }, { 8, 0, 441 }, { 10, 0, 314 }, + { 143, 0, 3 }, { 132, 11, 919 }, { 4, 10, 337 }, { 6, 10, 353 }, + { 7, 10, 1934 }, { 8, 10, 488 }, { 137, 10, 429 }, { 7, 0, 889 }, + { 7, 10, 1795 }, { 8, 10, 259 }, { 9, 10, 135 }, { 9, 10, 177 }, + { 9, 10, 860 }, { 10, 10, 825 }, { 11, 10, 115 }, { 11, 10, 370 }, + { 11, 10, 405 }, { 11, 10, 604 }, { 12, 10, 10 }, { 12, 10, 667 }, + { 12, 10, 669 }, { 13, 10, 76 }, { 14, 10, 310 }, { 15, 10, 76 }, + { 15, 10, 147 }, { 148, 10, 23 }, { 4, 10, 15 }, { 4, 11, 255 }, + { 5, 10, 22 }, { 5, 11, 302 }, { 6, 11, 132 }, { 6, 10, 244 }, + { 7, 10, 40 }, { 7, 11, 128 }, { 7, 10, 200 }, { 7, 11, 283 }, + { 7, 10, 906 }, { 7, 10, 1199 }, { 7, 11, 1299 }, { 9, 10, 616 }, + { 10, 11, 52 }, { 10, 11, 514 }, { 10, 10, 716 }, { 11, 10, 635 }, + { 11, 10, 801 }, { 11, 11, 925 }, { 12, 10, 458 }, { 13, 11, 92 }, + { 142, 11, 309 }, { 132, 0, 462 }, { 137, 11, 173 }, { 135, 10, 1735 }, + { 8, 0, 525 }, { 5, 10, 598 }, { 7, 10, 791 }, { 8, 10, 108 }, + { 137, 10, 123 }, { 5, 0, 73 }, { 6, 0, 23 }, { 134, 0, 338 }, + { 132, 0, 676 }, { 132, 10, 683 }, { 7, 0, 725 }, { 8, 0, 498 }, + { 139, 0, 268 }, { 12, 0, 21 }, { 151, 0, 7 }, { 135, 0, 773 }, + { 4, 10, 155 }, { 135, 10, 1689 }, { 4, 0, 164 }, { 5, 0, 730 }, + { 5, 10, 151 }, { 5, 10, 741 }, { 6, 11, 210 }, { 7, 10, 498 }, + { 7, 10, 870 }, { 7, 10, 1542 }, { 12, 10, 213 }, { 14, 10, 36 }, + { 14, 10, 391 }, { 17, 10, 111 }, { 18, 10, 6 }, { 18, 10, 46 }, + { 18, 10, 151 }, { 19, 10, 36 }, { 20, 10, 32 }, { 20, 10, 56 }, + { 20, 10, 69 }, { 20, 10, 102 }, { 21, 10, 4 }, { 22, 10, 8 }, + { 22, 10, 10 }, { 22, 10, 14 }, { 150, 10, 31 }, { 4, 10, 624 }, + { 135, 10, 1752 }, { 4, 0, 583 }, { 9, 0, 936 }, { 15, 0, 214 }, + { 18, 0, 199 }, { 24, 0, 26 }, { 134, 11, 588 }, { 7, 0, 1462 }, + { 11, 0, 659 }, { 4, 11, 284 }, { 134, 11, 223 }, { 133, 0, 220 }, + { 139, 0, 803 }, { 132, 0, 544 }, { 4, 10, 492 }, { 133, 10, 451 }, + { 16, 0, 98 }, { 148, 0, 119 }, { 4, 11, 218 }, { 7, 11, 526 }, + { 143, 11, 137 }, { 135, 10, 835 }, { 4, 11, 270 }, { 5, 11, 192 }, + { 6, 11, 332 }, { 7, 11, 1322 }, { 13, 11, 9 }, { 13, 10, 70 }, + { 14, 11, 104 }, { 142, 11, 311 }, { 132, 10, 539 }, { 140, 11, 661 }, + { 5, 0, 176 }, { 6, 0, 437 }, { 6, 0, 564 }, { 11, 0, 181 }, + { 141, 0, 183 }, { 135, 0, 1192 }, { 6, 10, 113 }, { 135, 10, 436 }, + { 136, 10, 718 }, { 135, 10, 520 }, { 135, 0, 1878 }, { 140, 11, 196 }, + { 7, 11, 379 }, { 8, 11, 481 }, { 137, 11, 377 }, { 5, 11, 1003 }, + { 6, 11, 149 }, { 137, 11, 746 }, { 8, 11, 262 }, { 9, 11, 627 }, + { 10, 11, 18 }, { 11, 11, 214 }, { 11, 11, 404 }, { 11, 11, 457 }, + { 11, 11, 780 }, { 11, 11, 849 }, { 11, 11, 913 }, { 13, 11, 330 }, + { 13, 11, 401 }, { 142, 11, 200 }, { 149, 0, 26 }, { 136, 11, 304 }, + { 132, 11, 142 }, { 135, 0, 944 }, { 4, 0, 790 }, { 5, 0, 273 }, + { 134, 0, 394 }, { 134, 0, 855 }, { 4, 0, 135 }, { 6, 0, 127 }, + { 7, 0, 1185 }, { 7, 0, 1511 }, { 8, 0, 613 }, { 11, 0, 5 }, + { 12, 0, 336 }, { 12, 0, 495 }, { 12, 0, 586 }, { 12, 0, 660 }, + { 12, 0, 668 }, { 14, 0, 385 }, { 15, 0, 118 }, { 17, 0, 20 }, + { 146, 0, 98 }, { 6, 0, 230 }, { 9, 0, 752 }, { 18, 0, 109 }, + { 12, 10, 610 }, { 13, 10, 431 }, { 144, 10, 59 }, { 7, 0, 1954 }, + { 135, 11, 925 }, { 4, 11, 471 }, { 5, 11, 51 }, { 6, 11, 602 }, + { 8, 11, 484 }, { 10, 11, 195 }, { 140, 11, 159 }, { 132, 10, 307 }, + { 136, 11, 688 }, { 132, 11, 697 }, { 7, 11, 812 }, { 7, 11, 1261 }, + { 7, 11, 1360 }, { 9, 11, 632 }, { 140, 11, 352 }, { 5, 0, 162 }, + { 8, 0, 68 }, { 133, 10, 964 }, { 4, 0, 654 }, { 136, 11, 212 }, + { 4, 0, 156 }, { 7, 0, 998 }, { 7, 0, 1045 }, { 7, 0, 1860 }, + { 9, 0, 48 }, { 9, 0, 692 }, { 11, 0, 419 }, { 139, 0, 602 }, + { 133, 11, 221 }, { 4, 11, 373 }, { 5, 11, 283 }, { 6, 11, 480 }, + { 135, 11, 609 }, { 142, 11, 216 }, { 132, 0, 240 }, { 6, 11, 192 }, + { 9, 11, 793 }, { 145, 11, 55 }, { 4, 10, 75 }, { 5, 10, 180 }, + { 6, 10, 500 }, { 7, 10, 58 }, { 7, 10, 710 }, { 138, 10, 645 }, + { 4, 11, 132 }, { 5, 11, 69 }, { 5, 10, 649 }, { 135, 11, 1242 }, + { 6, 10, 276 }, { 7, 10, 282 }, { 7, 10, 879 }, { 7, 10, 924 }, + { 8, 10, 459 }, { 9, 10, 599 }, { 9, 10, 754 }, { 11, 10, 574 }, + { 12, 10, 128 }, { 12, 10, 494 }, { 13, 10, 52 }, { 13, 10, 301 }, + { 15, 10, 30 }, { 143, 10, 132 }, { 132, 10, 200 }, { 4, 11, 111 }, + { 135, 11, 302 }, { 9, 0, 197 }, { 10, 0, 300 }, { 12, 0, 473 }, + { 13, 0, 90 }, { 141, 0, 405 }, { 132, 11, 767 }, { 6, 11, 42 }, + { 7, 11, 1416 }, { 7, 11, 1590 }, { 7, 11, 2005 }, { 8, 11, 131 }, + { 8, 11, 466 }, { 9, 11, 672 }, { 13, 11, 252 }, { 148, 11, 103 }, + { 8, 0, 958 }, { 8, 0, 999 }, { 10, 0, 963 }, { 138, 0, 1001 }, + { 135, 10, 1621 }, { 135, 0, 858 }, { 4, 0, 606 }, { 137, 11, 444 }, + { 6, 11, 44 }, { 136, 11, 368 }, { 139, 11, 172 }, { 4, 11, 570 }, + { 133, 11, 120 }, { 139, 11, 624 }, { 7, 0, 1978 }, { 8, 0, 676 }, + { 6, 10, 225 }, { 137, 10, 211 }, { 7, 0, 972 }, { 11, 0, 102 }, + { 136, 10, 687 }, { 6, 11, 227 }, { 135, 11, 1589 }, { 8, 10, 58 }, + { 9, 10, 724 }, { 11, 10, 809 }, { 13, 10, 113 }, { 145, 10, 72 }, + { 4, 0, 361 }, { 133, 0, 315 }, { 132, 0, 461 }, { 6, 10, 345 }, + { 135, 10, 1247 }, { 132, 0, 472 }, { 8, 10, 767 }, { 8, 10, 803 }, + { 9, 10, 301 }, { 137, 10, 903 }, { 135, 11, 1333 }, { 135, 11, 477 }, + { 7, 10, 1949 }, { 136, 10, 674 }, { 6, 0, 905 }, { 138, 0, 747 }, + { 133, 0, 155 }, { 134, 10, 259 }, { 7, 0, 163 }, { 8, 0, 319 }, + { 9, 0, 402 }, { 10, 0, 24 }, { 10, 0, 681 }, { 11, 0, 200 }, + { 12, 0, 253 }, { 12, 0, 410 }, { 142, 0, 219 }, { 5, 0, 475 }, + { 7, 0, 1780 }, { 9, 0, 230 }, { 11, 0, 297 }, { 11, 0, 558 }, + { 14, 0, 322 }, { 19, 0, 76 }, { 6, 11, 1667 }, { 7, 11, 2036 }, + { 138, 11, 600 }, { 136, 10, 254 }, { 6, 0, 848 }, { 135, 0, 1956 }, + { 6, 11, 511 }, { 140, 11, 132 }, { 5, 11, 568 }, { 6, 11, 138 }, + { 135, 11, 1293 }, { 6, 0, 631 }, { 137, 0, 838 }, { 149, 0, 36 }, + { 4, 11, 565 }, { 8, 11, 23 }, { 136, 11, 827 }, { 5, 0, 944 }, + { 134, 0, 1769 }, { 4, 0, 144 }, { 6, 0, 842 }, { 6, 0, 1400 }, + { 4, 11, 922 }, { 133, 11, 1023 }, { 133, 10, 248 }, { 9, 10, 800 }, + { 10, 10, 693 }, { 11, 10, 482 }, { 11, 10, 734 }, { 139, 10, 789 }, + { 7, 11, 1002 }, { 139, 11, 145 }, { 4, 10, 116 }, { 5, 10, 95 }, + { 5, 10, 445 }, { 7, 10, 1688 }, { 8, 10, 29 }, { 9, 10, 272 }, + { 11, 10, 509 }, { 139, 10, 915 }, { 14, 0, 369 }, { 146, 0, 72 }, + { 135, 10, 1641 }, { 132, 11, 740 }, { 133, 10, 543 }, { 140, 11, 116 }, + { 6, 0, 247 }, { 9, 0, 555 }, { 5, 10, 181 }, { 136, 10, 41 }, + { 133, 10, 657 }, { 136, 0, 996 }, { 138, 10, 709 }, { 7, 0, 189 }, + { 8, 10, 202 }, { 138, 10, 536 }, { 136, 11, 402 }, { 4, 11, 716 }, + { 141, 11, 31 }, { 10, 0, 280 }, { 138, 0, 797 }, { 9, 10, 423 }, + { 140, 10, 89 }, { 8, 10, 113 }, { 9, 10, 877 }, { 10, 10, 554 }, + { 11, 10, 83 }, { 12, 10, 136 }, { 147, 10, 109 }, { 133, 10, 976 }, + { 7, 0, 746 }, { 132, 10, 206 }, { 136, 0, 526 }, { 139, 0, 345 }, + { 136, 0, 1017 }, { 8, 11, 152 }, { 9, 11, 53 }, { 9, 11, 268 }, + { 9, 11, 901 }, { 10, 11, 518 }, { 10, 11, 829 }, { 11, 11, 188 }, + { 13, 11, 74 }, { 14, 11, 46 }, { 15, 11, 17 }, { 15, 11, 33 }, + { 17, 11, 40 }, { 18, 11, 36 }, { 19, 11, 20 }, { 22, 11, 1 }, + { 152, 11, 2 }, { 133, 11, 736 }, { 136, 11, 532 }, { 5, 0, 428 }, + { 138, 0, 651 }, { 135, 11, 681 }, { 135, 0, 1162 }, { 7, 0, 327 }, + { 13, 0, 230 }, { 17, 0, 113 }, { 8, 10, 226 }, { 10, 10, 537 }, + { 11, 10, 570 }, { 11, 10, 605 }, { 11, 10, 799 }, { 11, 10, 804 }, + { 12, 10, 85 }, { 12, 10, 516 }, { 12, 10, 623 }, { 12, 11, 677 }, + { 13, 10, 361 }, { 14, 10, 77 }, { 14, 10, 78 }, { 147, 10, 110 }, + { 4, 0, 792 }, { 7, 0, 1717 }, { 10, 0, 546 }, { 132, 10, 769 }, + { 4, 11, 684 }, { 136, 11, 384 }, { 132, 10, 551 }, { 134, 0, 1203 }, + { 9, 10, 57 }, { 9, 10, 459 }, { 10, 10, 425 }, { 11, 10, 119 }, + { 12, 10, 184 }, { 12, 10, 371 }, { 13, 10, 358 }, { 145, 10, 51 }, + { 5, 0, 672 }, { 5, 10, 814 }, { 8, 10, 10 }, { 9, 10, 421 }, + { 9, 10, 729 }, { 10, 10, 609 }, { 139, 10, 689 }, { 138, 0, 189 }, + { 134, 10, 624 }, { 7, 11, 110 }, { 7, 11, 188 }, { 8, 11, 290 }, + { 8, 11, 591 }, { 9, 11, 382 }, { 9, 11, 649 }, { 11, 11, 71 }, + { 11, 11, 155 }, { 11, 11, 313 }, { 12, 11, 5 }, { 13, 11, 325 }, + { 142, 11, 287 }, { 133, 0, 99 }, { 6, 0, 1053 }, { 135, 0, 298 }, + { 7, 11, 360 }, { 7, 11, 425 }, { 9, 11, 66 }, { 9, 11, 278 }, + { 138, 11, 644 }, { 4, 0, 397 }, { 136, 0, 555 }, { 137, 10, 269 }, + { 132, 10, 528 }, { 4, 11, 900 }, { 133, 11, 861 }, { 6, 0, 1157 }, + { 5, 11, 254 }, { 7, 11, 985 }, { 136, 11, 73 }, { 7, 11, 1959 }, + { 136, 11, 683 }, { 12, 0, 398 }, { 20, 0, 39 }, { 21, 0, 11 }, + { 150, 0, 41 }, { 4, 0, 485 }, { 7, 0, 353 }, { 135, 0, 1523 }, + { 6, 0, 366 }, { 7, 0, 1384 }, { 135, 0, 1601 }, { 138, 0, 787 }, + { 137, 0, 282 }, { 5, 10, 104 }, { 6, 10, 173 }, { 135, 10, 1631 }, + { 139, 11, 146 }, { 4, 0, 157 }, { 133, 0, 471 }, { 134, 0, 941 }, + { 132, 11, 725 }, { 7, 0, 1336 }, { 8, 10, 138 }, { 8, 10, 342 }, + { 9, 10, 84 }, { 10, 10, 193 }, { 11, 10, 883 }, { 140, 10, 359 }, + { 134, 11, 196 }, { 136, 0, 116 }, { 133, 11, 831 }, { 134, 0, 787 }, + { 134, 10, 95 }, { 6, 10, 406 }, { 10, 10, 409 }, { 10, 10, 447 }, + { 11, 10, 44 }, { 140, 10, 100 }, { 5, 0, 160 }, { 7, 0, 363 }, + { 7, 0, 589 }, { 10, 0, 170 }, { 141, 0, 55 }, { 134, 0, 1815 }, + { 132, 0, 866 }, { 6, 0, 889 }, { 6, 0, 1067 }, { 6, 0, 1183 }, + { 4, 11, 321 }, { 134, 11, 569 }, { 5, 11, 848 }, { 134, 11, 66 }, + { 4, 11, 36 }, { 6, 10, 1636 }, { 7, 11, 1387 }, { 10, 11, 205 }, + { 11, 11, 755 }, { 141, 11, 271 }, { 132, 0, 689 }, { 9, 0, 820 }, + { 4, 10, 282 }, { 7, 10, 1034 }, { 11, 10, 398 }, { 11, 10, 634 }, + { 12, 10, 1 }, { 12, 10, 79 }, { 12, 10, 544 }, { 14, 10, 237 }, + { 17, 10, 10 }, { 146, 10, 20 }, { 4, 0, 108 }, { 7, 0, 804 }, + { 139, 0, 498 }, { 132, 11, 887 }, { 6, 0, 1119 }, { 135, 11, 620 }, + { 6, 11, 165 }, { 138, 11, 388 }, { 5, 0, 244 }, { 5, 10, 499 }, + { 6, 10, 476 }, { 7, 10, 600 }, { 7, 10, 888 }, { 135, 10, 1096 }, + { 140, 0, 609 }, { 135, 0, 1005 }, { 4, 0, 412 }, { 133, 0, 581 }, + { 4, 11, 719 }, { 135, 11, 155 }, { 7, 10, 296 }, { 7, 10, 596 }, + { 8, 10, 560 }, { 8, 10, 586 }, { 9, 10, 612 }, { 11, 10, 304 }, + { 12, 10, 46 }, { 13, 10, 89 }, { 14, 10, 112 }, { 145, 10, 122 }, + { 4, 0, 895 }, { 133, 0, 772 }, { 142, 11, 307 }, { 135, 0, 1898 }, + { 4, 0, 926 }, { 133, 0, 983 }, { 4, 11, 353 }, { 6, 11, 146 }, + { 6, 11, 1789 }, { 7, 11, 288 }, { 7, 11, 990 }, { 7, 11, 1348 }, + { 9, 11, 665 }, { 9, 11, 898 }, { 11, 11, 893 }, { 142, 11, 212 }, + { 132, 0, 538 }, { 133, 11, 532 }, { 6, 0, 294 }, { 7, 0, 1267 }, + { 8, 0, 624 }, { 141, 0, 496 }, { 7, 0, 1325 }, { 4, 11, 45 }, + { 135, 11, 1257 }, { 138, 0, 301 }, { 9, 0, 298 }, { 12, 0, 291 }, + { 13, 0, 276 }, { 14, 0, 6 }, { 17, 0, 18 }, { 21, 0, 32 }, + { 7, 10, 1599 }, { 7, 10, 1723 }, { 8, 10, 79 }, { 8, 10, 106 }, + { 8, 10, 190 }, { 8, 10, 302 }, { 8, 10, 383 }, { 8, 10, 713 }, + { 9, 10, 119 }, { 9, 10, 233 }, { 9, 10, 419 }, { 9, 10, 471 }, + { 10, 10, 181 }, { 10, 10, 406 }, { 11, 10, 57 }, { 11, 10, 85 }, + { 11, 10, 120 }, { 11, 10, 177 }, { 11, 10, 296 }, { 11, 10, 382 }, + { 11, 10, 454 }, { 11, 10, 758 }, { 11, 10, 999 }, { 12, 10, 27 }, + { 12, 10, 131 }, { 12, 10, 245 }, { 12, 10, 312 }, { 12, 10, 446 }, + { 12, 10, 454 }, { 13, 10, 98 }, { 13, 10, 426 }, { 13, 10, 508 }, + { 14, 10, 163 }, { 14, 10, 272 }, { 14, 10, 277 }, { 14, 10, 370 }, + { 15, 10, 95 }, { 15, 10, 138 }, { 15, 10, 167 }, { 17, 10, 38 }, + { 148, 10, 96 }, { 132, 0, 757 }, { 134, 0, 1263 }, { 4, 0, 820 }, + { 134, 10, 1759 }, { 133, 0, 722 }, { 136, 11, 816 }, { 138, 10, 372 }, + { 145, 10, 16 }, { 134, 0, 1039 }, { 4, 0, 991 }, { 134, 0, 2028 }, + { 133, 10, 258 }, { 7, 0, 1875 }, { 139, 0, 124 }, { 6, 11, 559 }, + { 6, 11, 1691 }, { 135, 11, 586 }, { 5, 0, 324 }, { 7, 0, 881 }, + { 8, 10, 134 }, { 9, 10, 788 }, { 140, 10, 438 }, { 7, 11, 1823 }, + { 139, 11, 693 }, { 6, 0, 1348 }, { 134, 0, 1545 }, { 134, 0, 911 }, + { 132, 0, 954 }, { 8, 0, 329 }, { 8, 0, 414 }, { 7, 10, 1948 }, + { 135, 10, 2004 }, { 5, 0, 517 }, { 6, 10, 439 }, { 7, 10, 780 }, + { 135, 10, 1040 }, { 132, 0, 816 }, { 5, 10, 1 }, { 6, 10, 81 }, + { 138, 10, 520 }, { 9, 0, 713 }, { 10, 0, 222 }, { 5, 10, 482 }, + { 8, 10, 98 }, { 10, 10, 700 }, { 10, 10, 822 }, { 11, 10, 302 }, + { 11, 10, 778 }, { 12, 10, 50 }, { 12, 10, 127 }, { 12, 10, 396 }, + { 13, 10, 62 }, { 13, 10, 328 }, { 14, 10, 122 }, { 147, 10, 72 }, + { 137, 0, 33 }, { 5, 10, 2 }, { 7, 10, 1494 }, { 136, 10, 589 }, + { 6, 10, 512 }, { 7, 10, 797 }, { 8, 10, 253 }, { 9, 10, 77 }, + { 10, 10, 1 }, { 10, 11, 108 }, { 10, 10, 129 }, { 10, 10, 225 }, + { 11, 11, 116 }, { 11, 10, 118 }, { 11, 10, 226 }, { 11, 10, 251 }, + { 11, 10, 430 }, { 11, 10, 701 }, { 11, 10, 974 }, { 11, 10, 982 }, + { 12, 10, 64 }, { 12, 10, 260 }, { 12, 10, 488 }, { 140, 10, 690 }, + { 134, 11, 456 }, { 133, 11, 925 }, { 5, 0, 150 }, { 7, 0, 106 }, + { 7, 0, 774 }, { 8, 0, 603 }, { 9, 0, 593 }, { 9, 0, 634 }, + { 10, 0, 44 }, { 10, 0, 173 }, { 11, 0, 462 }, { 11, 0, 515 }, + { 13, 0, 216 }, { 13, 0, 288 }, { 142, 0, 400 }, { 137, 10, 347 }, + { 5, 0, 748 }, { 134, 0, 553 }, { 12, 0, 108 }, { 141, 0, 291 }, + { 7, 0, 420 }, { 4, 10, 12 }, { 7, 10, 522 }, { 7, 10, 809 }, + { 8, 10, 797 }, { 141, 10, 88 }, { 6, 11, 193 }, { 7, 11, 240 }, + { 7, 11, 1682 }, { 10, 11, 51 }, { 10, 11, 640 }, { 11, 11, 410 }, + { 13, 11, 82 }, { 14, 11, 247 }, { 14, 11, 331 }, { 142, 11, 377 }, + { 133, 10, 528 }, { 135, 0, 1777 }, { 4, 0, 493 }, { 144, 0, 55 }, + { 136, 11, 633 }, { 139, 0, 81 }, { 6, 0, 980 }, { 136, 0, 321 }, + { 148, 10, 109 }, { 5, 10, 266 }, { 9, 10, 290 }, { 9, 10, 364 }, + { 10, 10, 293 }, { 11, 10, 606 }, { 142, 10, 45 }, { 6, 0, 568 }, + { 7, 0, 112 }, { 7, 0, 1804 }, { 8, 0, 362 }, { 8, 0, 410 }, + { 8, 0, 830 }, { 9, 0, 514 }, { 11, 0, 649 }, { 142, 0, 157 }, + { 4, 0, 74 }, { 6, 0, 510 }, { 6, 10, 594 }, { 9, 10, 121 }, + { 10, 10, 49 }, { 10, 10, 412 }, { 139, 10, 834 }, { 134, 0, 838 }, + { 136, 10, 748 }, { 132, 10, 466 }, { 132, 0, 625 }, { 135, 11, 1443 }, + { 4, 11, 237 }, { 135, 11, 514 }, { 9, 10, 378 }, { 141, 10, 162 }, + { 6, 0, 16 }, { 6, 0, 158 }, { 7, 0, 43 }, { 7, 0, 129 }, + { 7, 0, 181 }, { 8, 0, 276 }, { 8, 0, 377 }, { 10, 0, 523 }, + { 11, 0, 816 }, { 12, 0, 455 }, { 13, 0, 303 }, { 142, 0, 135 }, + { 135, 0, 281 }, { 4, 0, 1 }, { 7, 0, 1143 }, { 7, 0, 1463 }, + { 8, 0, 61 }, { 9, 0, 207 }, { 9, 0, 390 }, { 9, 0, 467 }, + { 139, 0, 836 }, { 6, 11, 392 }, { 7, 11, 65 }, { 135, 11, 2019 }, + { 132, 10, 667 }, { 4, 0, 723 }, { 5, 0, 895 }, { 7, 0, 1031 }, + { 8, 0, 199 }, { 8, 0, 340 }, { 9, 0, 153 }, { 9, 0, 215 }, + { 10, 0, 21 }, { 10, 0, 59 }, { 10, 0, 80 }, { 10, 0, 224 }, + { 10, 0, 838 }, { 11, 0, 229 }, { 11, 0, 652 }, { 12, 0, 192 }, + { 13, 0, 146 }, { 142, 0, 91 }, { 132, 0, 295 }, { 137, 0, 51 }, + { 9, 11, 222 }, { 10, 11, 43 }, { 139, 11, 900 }, { 5, 0, 309 }, + { 140, 0, 211 }, { 5, 0, 125 }, { 8, 0, 77 }, { 138, 0, 15 }, + { 136, 11, 604 }, { 138, 0, 789 }, { 5, 0, 173 }, { 4, 10, 39 }, + { 7, 10, 1843 }, { 8, 10, 407 }, { 11, 10, 144 }, { 140, 10, 523 }, + { 138, 11, 265 }, { 133, 0, 439 }, { 132, 10, 510 }, { 7, 0, 648 }, + { 7, 0, 874 }, { 11, 0, 164 }, { 12, 0, 76 }, { 18, 0, 9 }, + { 7, 10, 1980 }, { 10, 10, 487 }, { 138, 10, 809 }, { 12, 0, 111 }, + { 14, 0, 294 }, { 19, 0, 45 }, { 13, 10, 260 }, { 146, 10, 63 }, + { 133, 11, 549 }, { 134, 10, 570 }, { 4, 0, 8 }, { 7, 0, 1152 }, + { 7, 0, 1153 }, { 7, 0, 1715 }, { 9, 0, 374 }, { 10, 0, 478 }, + { 139, 0, 648 }, { 135, 0, 1099 }, { 5, 0, 575 }, { 6, 0, 354 }, + { 135, 0, 701 }, { 7, 11, 36 }, { 8, 11, 201 }, { 136, 11, 605 }, + { 4, 10, 787 }, { 136, 11, 156 }, { 6, 0, 518 }, { 149, 11, 13 }, + { 140, 11, 224 }, { 134, 0, 702 }, { 132, 10, 516 }, { 5, 11, 724 }, + { 10, 11, 305 }, { 11, 11, 151 }, { 12, 11, 33 }, { 12, 11, 121 }, + { 12, 11, 381 }, { 17, 11, 3 }, { 17, 11, 27 }, { 17, 11, 78 }, + { 18, 11, 18 }, { 19, 11, 54 }, { 149, 11, 5 }, { 8, 0, 87 }, + { 4, 11, 523 }, { 5, 11, 638 }, { 11, 10, 887 }, { 14, 10, 365 }, + { 142, 10, 375 }, { 138, 0, 438 }, { 136, 10, 821 }, { 135, 11, 1908 }, + { 6, 11, 242 }, { 7, 11, 227 }, { 7, 11, 1581 }, { 8, 11, 104 }, + { 9, 11, 113 }, { 9, 11, 220 }, { 9, 11, 427 }, { 10, 11, 74 }, + { 10, 11, 239 }, { 11, 11, 579 }, { 11, 11, 1023 }, { 13, 11, 4 }, + { 13, 11, 204 }, { 13, 11, 316 }, { 18, 11, 95 }, { 148, 11, 86 }, + { 4, 0, 69 }, { 5, 0, 122 }, { 5, 0, 849 }, { 6, 0, 1633 }, + { 9, 0, 656 }, { 138, 0, 464 }, { 7, 0, 1802 }, { 4, 10, 10 }, + { 139, 10, 786 }, { 135, 11, 861 }, { 139, 0, 499 }, { 7, 0, 476 }, + { 7, 0, 1592 }, { 138, 0, 87 }, { 133, 10, 684 }, { 4, 0, 840 }, + { 134, 10, 27 }, { 142, 0, 283 }, { 6, 0, 1620 }, { 7, 11, 1328 }, + { 136, 11, 494 }, { 5, 0, 859 }, { 7, 0, 1160 }, { 8, 0, 107 }, + { 9, 0, 291 }, { 9, 0, 439 }, { 10, 0, 663 }, { 11, 0, 609 }, + { 140, 0, 197 }, { 7, 11, 1306 }, { 8, 11, 505 }, { 9, 11, 482 }, + { 10, 11, 126 }, { 11, 11, 225 }, { 12, 11, 347 }, { 12, 11, 449 }, + { 13, 11, 19 }, { 142, 11, 218 }, { 5, 11, 268 }, { 10, 11, 764 }, + { 12, 11, 120 }, { 13, 11, 39 }, { 145, 11, 127 }, { 145, 10, 56 }, + { 7, 11, 1672 }, { 10, 11, 472 }, { 11, 11, 189 }, { 143, 11, 51 }, + { 6, 10, 342 }, { 6, 10, 496 }, { 8, 10, 275 }, { 137, 10, 206 }, + { 133, 0, 600 }, { 4, 0, 117 }, { 6, 0, 372 }, { 7, 0, 1905 }, + { 142, 0, 323 }, { 4, 10, 909 }, { 5, 10, 940 }, { 135, 11, 1471 }, + { 132, 10, 891 }, { 4, 0, 722 }, { 139, 0, 471 }, { 4, 11, 384 }, + { 135, 11, 1022 }, { 132, 10, 687 }, { 9, 0, 5 }, { 12, 0, 216 }, + { 12, 0, 294 }, { 12, 0, 298 }, { 12, 0, 400 }, { 12, 0, 518 }, + { 13, 0, 229 }, { 143, 0, 139 }, { 135, 11, 1703 }, { 7, 11, 1602 }, + { 10, 11, 698 }, { 12, 11, 212 }, { 141, 11, 307 }, { 6, 10, 41 }, + { 141, 10, 160 }, { 135, 11, 1077 }, { 9, 11, 159 }, { 11, 11, 28 }, + { 140, 11, 603 }, { 4, 0, 514 }, { 7, 0, 1304 }, { 138, 0, 477 }, + { 134, 0, 1774 }, { 9, 0, 88 }, { 139, 0, 270 }, { 5, 0, 12 }, + { 7, 0, 375 }, { 9, 0, 438 }, { 134, 10, 1718 }, { 132, 11, 515 }, + { 136, 10, 778 }, { 8, 11, 632 }, { 8, 11, 697 }, { 137, 11, 854 }, + { 6, 0, 362 }, { 6, 0, 997 }, { 146, 0, 51 }, { 7, 0, 816 }, + { 7, 0, 1241 }, { 9, 0, 283 }, { 9, 0, 520 }, { 10, 0, 213 }, + { 10, 0, 307 }, { 10, 0, 463 }, { 10, 0, 671 }, { 10, 0, 746 }, + { 11, 0, 401 }, { 11, 0, 794 }, { 12, 0, 517 }, { 18, 0, 107 }, + { 147, 0, 115 }, { 133, 10, 115 }, { 150, 11, 28 }, { 4, 11, 136 }, + { 133, 11, 551 }, { 142, 10, 314 }, { 132, 0, 258 }, { 6, 0, 22 }, + { 7, 0, 903 }, { 7, 0, 1963 }, { 8, 0, 639 }, { 138, 0, 577 }, + { 5, 0, 681 }, { 8, 0, 782 }, { 13, 0, 130 }, { 17, 0, 84 }, + { 5, 10, 193 }, { 140, 10, 178 }, { 9, 11, 17 }, { 138, 11, 291 }, + { 7, 11, 1287 }, { 9, 11, 44 }, { 10, 11, 552 }, { 10, 11, 642 }, + { 11, 11, 839 }, { 12, 11, 274 }, { 12, 11, 275 }, { 12, 11, 372 }, + { 13, 11, 91 }, { 142, 11, 125 }, { 135, 10, 174 }, { 4, 0, 664 }, + { 5, 0, 804 }, { 139, 0, 1013 }, { 134, 0, 942 }, { 6, 0, 1349 }, + { 6, 0, 1353 }, { 6, 0, 1450 }, { 7, 11, 1518 }, { 139, 11, 694 }, + { 11, 0, 356 }, { 4, 10, 122 }, { 5, 10, 796 }, { 5, 10, 952 }, + { 6, 10, 1660 }, { 6, 10, 1671 }, { 8, 10, 567 }, { 9, 10, 687 }, + { 9, 10, 742 }, { 10, 10, 686 }, { 11, 10, 682 }, { 140, 10, 281 }, + { 5, 0, 32 }, { 6, 11, 147 }, { 7, 11, 886 }, { 9, 11, 753 }, + { 138, 11, 268 }, { 5, 10, 179 }, { 7, 10, 1095 }, { 135, 10, 1213 }, + { 4, 10, 66 }, { 7, 10, 722 }, { 135, 10, 904 }, { 135, 10, 352 }, + { 9, 11, 245 }, { 138, 11, 137 }, { 4, 0, 289 }, { 7, 0, 629 }, + { 7, 0, 1698 }, { 7, 0, 1711 }, { 12, 0, 215 }, { 133, 11, 414 }, + { 6, 0, 1975 }, { 135, 11, 1762 }, { 6, 0, 450 }, { 136, 0, 109 }, + { 141, 10, 35 }, { 134, 11, 599 }, { 136, 0, 705 }, { 133, 0, 664 }, + { 134, 11, 1749 }, { 11, 11, 402 }, { 12, 11, 109 }, { 12, 11, 431 }, + { 13, 11, 179 }, { 13, 11, 206 }, { 14, 11, 175 }, { 14, 11, 217 }, + { 16, 11, 3 }, { 148, 11, 53 }, { 135, 0, 1238 }, { 134, 11, 1627 }, + { 132, 11, 488 }, { 13, 0, 318 }, { 10, 10, 592 }, { 10, 10, 753 }, + { 12, 10, 317 }, { 12, 10, 355 }, { 12, 10, 465 }, { 12, 10, 469 }, + { 12, 10, 560 }, { 140, 10, 578 }, { 133, 10, 564 }, { 132, 11, 83 }, + { 140, 11, 676 }, { 6, 0, 1872 }, { 6, 0, 1906 }, { 6, 0, 1907 }, + { 9, 0, 934 }, { 9, 0, 956 }, { 9, 0, 960 }, { 9, 0, 996 }, + { 12, 0, 794 }, { 12, 0, 876 }, { 12, 0, 880 }, { 12, 0, 918 }, + { 15, 0, 230 }, { 18, 0, 234 }, { 18, 0, 238 }, { 21, 0, 38 }, + { 149, 0, 62 }, { 134, 10, 556 }, { 134, 11, 278 }, { 137, 0, 103 }, + { 7, 10, 544 }, { 8, 10, 719 }, { 138, 10, 61 }, { 4, 10, 5 }, + { 5, 10, 498 }, { 8, 10, 637 }, { 137, 10, 521 }, { 7, 0, 777 }, + { 12, 0, 229 }, { 12, 0, 239 }, { 15, 0, 12 }, { 12, 11, 229 }, + { 12, 11, 239 }, { 143, 11, 12 }, { 6, 0, 26 }, { 7, 11, 388 }, + { 7, 11, 644 }, { 139, 11, 781 }, { 7, 11, 229 }, { 8, 11, 59 }, + { 9, 11, 190 }, { 9, 11, 257 }, { 10, 11, 378 }, { 140, 11, 191 }, + { 133, 10, 927 }, { 135, 10, 1441 }, { 4, 10, 893 }, { 5, 10, 780 }, + { 133, 10, 893 }, { 4, 0, 414 }, { 5, 0, 467 }, { 9, 0, 654 }, + { 10, 0, 451 }, { 12, 0, 59 }, { 141, 0, 375 }, { 142, 0, 173 }, + { 135, 0, 17 }, { 7, 0, 1350 }, { 133, 10, 238 }, { 135, 0, 955 }, + { 4, 0, 960 }, { 10, 0, 887 }, { 12, 0, 753 }, { 18, 0, 161 }, + { 18, 0, 162 }, { 152, 0, 19 }, { 136, 11, 344 }, { 6, 10, 1729 }, + { 137, 11, 288 }, { 132, 11, 660 }, { 4, 0, 217 }, { 5, 0, 710 }, + { 7, 0, 760 }, { 7, 0, 1926 }, { 9, 0, 428 }, { 9, 0, 708 }, + { 10, 0, 254 }, { 10, 0, 296 }, { 10, 0, 720 }, { 11, 0, 109 }, + { 11, 0, 255 }, { 12, 0, 165 }, { 12, 0, 315 }, { 13, 0, 107 }, + { 13, 0, 203 }, { 14, 0, 54 }, { 14, 0, 99 }, { 14, 0, 114 }, + { 14, 0, 388 }, { 16, 0, 85 }, { 17, 0, 9 }, { 17, 0, 33 }, + { 20, 0, 25 }, { 20, 0, 28 }, { 20, 0, 29 }, { 21, 0, 9 }, + { 21, 0, 10 }, { 21, 0, 34 }, { 22, 0, 17 }, { 4, 10, 60 }, + { 7, 10, 1800 }, { 8, 10, 314 }, { 9, 10, 700 }, { 139, 10, 487 }, + { 7, 11, 1035 }, { 138, 11, 737 }, { 7, 11, 690 }, { 9, 11, 217 }, + { 9, 11, 587 }, { 140, 11, 521 }, { 6, 0, 919 }, { 7, 11, 706 }, + { 7, 11, 1058 }, { 138, 11, 538 }, { 7, 10, 1853 }, { 138, 10, 437 }, + { 136, 10, 419 }, { 6, 0, 280 }, { 10, 0, 502 }, { 11, 0, 344 }, + { 140, 0, 38 }, { 5, 0, 45 }, { 7, 0, 1161 }, { 11, 0, 448 }, + { 11, 0, 880 }, { 13, 0, 139 }, { 13, 0, 407 }, { 15, 0, 16 }, + { 17, 0, 95 }, { 18, 0, 66 }, { 18, 0, 88 }, { 18, 0, 123 }, + { 149, 0, 7 }, { 11, 11, 92 }, { 11, 11, 196 }, { 11, 11, 409 }, + { 11, 11, 450 }, { 11, 11, 666 }, { 11, 11, 777 }, { 12, 11, 262 }, + { 13, 11, 385 }, { 13, 11, 393 }, { 15, 11, 115 }, { 16, 11, 45 }, + { 145, 11, 82 }, { 136, 0, 777 }, { 134, 11, 1744 }, { 4, 0, 410 }, + { 7, 0, 521 }, { 133, 10, 828 }, { 134, 0, 673 }, { 7, 0, 1110 }, + { 7, 0, 1778 }, { 7, 10, 176 }, { 135, 10, 178 }, { 5, 10, 806 }, + { 7, 11, 268 }, { 7, 10, 1976 }, { 136, 11, 569 }, { 4, 11, 733 }, + { 9, 11, 194 }, { 10, 11, 92 }, { 11, 11, 198 }, { 12, 11, 84 }, + { 12, 11, 87 }, { 13, 11, 128 }, { 144, 11, 74 }, { 5, 0, 341 }, + { 7, 0, 1129 }, { 11, 0, 414 }, { 4, 10, 51 }, { 6, 10, 4 }, + { 7, 10, 591 }, { 7, 10, 849 }, { 7, 10, 951 }, { 7, 10, 1613 }, + { 7, 10, 1760 }, { 7, 10, 1988 }, { 9, 10, 434 }, { 10, 10, 754 }, + { 11, 10, 25 }, { 139, 10, 37 }, { 133, 10, 902 }, { 135, 10, 928 }, + { 135, 0, 787 }, { 132, 0, 436 }, { 134, 10, 270 }, { 7, 0, 1587 }, + { 135, 0, 1707 }, { 6, 0, 377 }, { 7, 0, 1025 }, { 9, 0, 613 }, + { 145, 0, 104 }, { 7, 11, 982 }, { 7, 11, 1361 }, { 10, 11, 32 }, + { 143, 11, 56 }, { 139, 0, 96 }, { 132, 0, 451 }, { 132, 10, 416 }, + { 142, 10, 372 }, { 5, 10, 152 }, { 5, 10, 197 }, { 7, 11, 306 }, + { 7, 10, 340 }, { 7, 10, 867 }, { 10, 10, 548 }, { 10, 10, 581 }, + { 11, 10, 6 }, { 12, 10, 3 }, { 12, 10, 19 }, { 14, 10, 110 }, + { 142, 10, 289 }, { 134, 0, 680 }, { 134, 11, 609 }, { 7, 0, 483 }, + { 7, 10, 190 }, { 8, 10, 28 }, { 8, 10, 141 }, { 8, 10, 444 }, + { 8, 10, 811 }, { 9, 10, 468 }, { 11, 10, 334 }, { 12, 10, 24 }, + { 12, 10, 386 }, { 140, 10, 576 }, { 10, 0, 916 }, { 133, 10, 757 }, + { 5, 10, 721 }, { 135, 10, 1553 }, { 133, 11, 178 }, { 134, 0, 937 }, + { 132, 10, 898 }, { 133, 0, 739 }, { 147, 0, 82 }, { 135, 0, 663 }, + { 146, 0, 128 }, { 5, 10, 277 }, { 141, 10, 247 }, { 134, 0, 1087 }, + { 132, 10, 435 }, { 6, 11, 381 }, { 7, 11, 645 }, { 7, 11, 694 }, + { 136, 11, 546 }, { 7, 0, 503 }, { 135, 0, 1885 }, { 6, 0, 1965 }, + { 8, 0, 925 }, { 138, 0, 955 }, { 4, 0, 113 }, { 5, 0, 163 }, + { 5, 0, 735 }, { 7, 0, 1009 }, { 9, 0, 9 }, { 9, 0, 771 }, + { 12, 0, 90 }, { 13, 0, 138 }, { 13, 0, 410 }, { 143, 0, 128 }, + { 4, 0, 324 }, { 138, 0, 104 }, { 7, 0, 460 }, { 5, 10, 265 }, + { 134, 10, 212 }, { 133, 11, 105 }, { 7, 11, 261 }, { 7, 11, 1107 }, + { 7, 11, 1115 }, { 7, 11, 1354 }, { 7, 11, 1588 }, { 7, 11, 1705 }, + { 7, 11, 1902 }, { 9, 11, 465 }, { 10, 11, 248 }, { 10, 11, 349 }, + { 10, 11, 647 }, { 11, 11, 527 }, { 11, 11, 660 }, { 11, 11, 669 }, + { 12, 11, 529 }, { 141, 11, 305 }, { 5, 11, 438 }, { 9, 11, 694 }, + { 12, 11, 627 }, { 141, 11, 210 }, { 152, 11, 11 }, { 4, 0, 935 }, + { 133, 0, 823 }, { 132, 10, 702 }, { 5, 0, 269 }, { 7, 0, 434 }, + { 7, 0, 891 }, { 8, 0, 339 }, { 9, 0, 702 }, { 11, 0, 594 }, + { 11, 0, 718 }, { 17, 0, 100 }, { 5, 10, 808 }, { 135, 10, 2045 }, + { 7, 0, 1014 }, { 9, 0, 485 }, { 141, 0, 264 }, { 134, 0, 1713 }, + { 7, 0, 1810 }, { 11, 0, 866 }, { 12, 0, 103 }, { 13, 0, 495 }, + { 140, 11, 233 }, { 4, 0, 423 }, { 10, 0, 949 }, { 138, 0, 1013 }, + { 135, 0, 900 }, { 8, 11, 25 }, { 138, 11, 826 }, { 5, 10, 166 }, + { 8, 10, 739 }, { 140, 10, 511 }, { 134, 0, 2018 }, { 7, 11, 1270 }, + { 139, 11, 612 }, { 4, 10, 119 }, { 5, 10, 170 }, { 5, 10, 447 }, + { 7, 10, 1708 }, { 7, 10, 1889 }, { 9, 10, 357 }, { 9, 10, 719 }, + { 12, 10, 486 }, { 140, 10, 596 }, { 12, 0, 574 }, { 140, 11, 574 }, + { 132, 11, 308 }, { 6, 0, 964 }, { 6, 0, 1206 }, { 134, 0, 1302 }, + { 4, 10, 450 }, { 135, 10, 1158 }, { 135, 11, 150 }, { 136, 11, 649 }, + { 14, 0, 213 }, { 148, 0, 38 }, { 9, 11, 45 }, { 9, 11, 311 }, + { 141, 11, 42 }, { 134, 11, 521 }, { 7, 10, 1375 }, { 7, 10, 1466 }, + { 138, 10, 331 }, { 132, 10, 754 }, { 5, 11, 339 }, { 7, 11, 1442 }, + { 14, 11, 3 }, { 15, 11, 41 }, { 147, 11, 66 }, { 136, 11, 378 }, + { 134, 0, 1022 }, { 5, 10, 850 }, { 136, 10, 799 }, { 142, 0, 143 }, + { 135, 0, 2029 }, { 134, 11, 1628 }, { 8, 0, 523 }, { 150, 0, 34 }, + { 5, 0, 625 }, { 135, 0, 1617 }, { 7, 0, 275 }, { 7, 10, 238 }, + { 7, 10, 2033 }, { 8, 10, 120 }, { 8, 10, 188 }, { 8, 10, 659 }, + { 9, 10, 598 }, { 10, 10, 466 }, { 12, 10, 342 }, { 12, 10, 588 }, + { 13, 10, 503 }, { 14, 10, 246 }, { 143, 10, 92 }, { 7, 0, 37 }, + { 8, 0, 425 }, { 8, 0, 693 }, { 9, 0, 720 }, { 10, 0, 380 }, + { 10, 0, 638 }, { 11, 0, 273 }, { 11, 0, 473 }, { 12, 0, 61 }, + { 143, 0, 43 }, { 135, 11, 829 }, { 135, 0, 1943 }, { 132, 0, 765 }, + { 5, 11, 486 }, { 135, 11, 1349 }, { 7, 11, 1635 }, { 8, 11, 17 }, + { 10, 11, 217 }, { 138, 11, 295 }, { 4, 10, 201 }, { 7, 10, 1744 }, + { 8, 10, 602 }, { 11, 10, 247 }, { 11, 10, 826 }, { 145, 10, 65 }, + { 138, 11, 558 }, { 11, 0, 551 }, { 142, 0, 159 }, { 8, 10, 164 }, + { 146, 10, 62 }, { 139, 11, 176 }, { 132, 0, 168 }, { 136, 0, 1010 }, + { 134, 0, 1994 }, { 135, 0, 91 }, { 138, 0, 532 }, { 135, 10, 1243 }, + { 135, 0, 1884 }, { 132, 10, 907 }, { 5, 10, 100 }, { 10, 10, 329 }, + { 12, 10, 416 }, { 149, 10, 29 }, { 134, 11, 447 }, { 132, 10, 176 }, + { 5, 10, 636 }, { 5, 10, 998 }, { 7, 10, 9 }, { 7, 10, 1508 }, + { 8, 10, 26 }, { 9, 10, 317 }, { 9, 10, 358 }, { 10, 10, 210 }, + { 10, 10, 292 }, { 10, 10, 533 }, { 11, 10, 555 }, { 12, 10, 526 }, + { 12, 10, 607 }, { 13, 10, 263 }, { 13, 10, 459 }, { 142, 10, 271 }, + { 4, 11, 609 }, { 135, 11, 756 }, { 6, 0, 15 }, { 7, 0, 70 }, + { 10, 0, 240 }, { 147, 0, 93 }, { 4, 11, 930 }, { 133, 11, 947 }, + { 134, 0, 1227 }, { 134, 0, 1534 }, { 133, 11, 939 }, { 133, 11, 962 }, + { 5, 11, 651 }, { 8, 11, 170 }, { 9, 11, 61 }, { 9, 11, 63 }, + { 10, 11, 23 }, { 10, 11, 37 }, { 10, 11, 834 }, { 11, 11, 4 }, + { 11, 11, 187 }, { 11, 11, 281 }, { 11, 11, 503 }, { 11, 11, 677 }, + { 12, 11, 96 }, { 12, 11, 130 }, { 12, 11, 244 }, { 14, 11, 5 }, + { 14, 11, 40 }, { 14, 11, 162 }, { 14, 11, 202 }, { 146, 11, 133 }, + { 4, 11, 406 }, { 5, 11, 579 }, { 12, 11, 492 }, { 150, 11, 15 }, + { 139, 0, 392 }, { 6, 10, 610 }, { 10, 10, 127 }, { 141, 10, 27 }, + { 7, 0, 655 }, { 7, 0, 1844 }, { 136, 10, 119 }, { 4, 0, 145 }, + { 6, 0, 176 }, { 7, 0, 395 }, { 137, 0, 562 }, { 132, 0, 501 }, + { 140, 11, 145 }, { 136, 0, 1019 }, { 134, 0, 509 }, { 139, 0, 267 }, + { 6, 11, 17 }, { 7, 11, 16 }, { 7, 11, 1001 }, { 7, 11, 1982 }, + { 9, 11, 886 }, { 10, 11, 489 }, { 10, 11, 800 }, { 11, 11, 782 }, + { 12, 11, 320 }, { 13, 11, 467 }, { 14, 11, 145 }, { 14, 11, 387 }, + { 143, 11, 119 }, { 145, 11, 17 }, { 6, 0, 1099 }, { 133, 11, 458 }, + { 7, 11, 1983 }, { 8, 11, 0 }, { 8, 11, 171 }, { 9, 11, 120 }, + { 9, 11, 732 }, { 10, 11, 473 }, { 11, 11, 656 }, { 11, 11, 998 }, + { 18, 11, 0 }, { 18, 11, 2 }, { 147, 11, 21 }, { 12, 11, 427 }, + { 146, 11, 38 }, { 10, 0, 948 }, { 138, 0, 968 }, { 7, 10, 126 }, + { 136, 10, 84 }, { 136, 10, 790 }, { 4, 0, 114 }, { 9, 0, 492 }, + { 13, 0, 462 }, { 142, 0, 215 }, { 6, 10, 64 }, { 12, 10, 377 }, + { 141, 10, 309 }, { 4, 0, 77 }, { 5, 0, 361 }, { 6, 0, 139 }, + { 6, 0, 401 }, { 6, 0, 404 }, { 7, 0, 413 }, { 7, 0, 715 }, + { 7, 0, 1716 }, { 11, 0, 279 }, { 12, 0, 179 }, { 12, 0, 258 }, + { 13, 0, 244 }, { 142, 0, 358 }, { 134, 0, 1717 }, { 7, 0, 772 }, + { 7, 0, 1061 }, { 7, 0, 1647 }, { 8, 0, 82 }, { 11, 0, 250 }, + { 11, 0, 607 }, { 12, 0, 311 }, { 12, 0, 420 }, { 13, 0, 184 }, + { 13, 0, 367 }, { 7, 10, 1104 }, { 11, 10, 269 }, { 11, 10, 539 }, + { 11, 10, 627 }, { 11, 10, 706 }, { 11, 10, 975 }, { 12, 10, 248 }, + { 12, 10, 434 }, { 12, 10, 600 }, { 12, 10, 622 }, { 13, 10, 297 }, + { 13, 10, 485 }, { 14, 10, 69 }, { 14, 10, 409 }, { 143, 10, 108 }, + { 135, 0, 724 }, { 4, 11, 512 }, { 4, 11, 519 }, { 133, 11, 342 }, + { 134, 0, 1133 }, { 145, 11, 29 }, { 11, 10, 977 }, { 141, 10, 507 }, + { 6, 0, 841 }, { 6, 0, 1042 }, { 6, 0, 1194 }, { 10, 0, 993 }, + { 140, 0, 1021 }, { 6, 11, 31 }, { 7, 11, 491 }, { 7, 11, 530 }, + { 8, 11, 592 }, { 9, 10, 34 }, { 11, 11, 53 }, { 11, 10, 484 }, + { 11, 11, 779 }, { 12, 11, 167 }, { 12, 11, 411 }, { 14, 11, 14 }, + { 14, 11, 136 }, { 15, 11, 72 }, { 16, 11, 17 }, { 144, 11, 72 }, + { 4, 0, 1021 }, { 6, 0, 2037 }, { 133, 11, 907 }, { 7, 0, 373 }, + { 8, 0, 335 }, { 8, 0, 596 }, { 9, 0, 488 }, { 6, 10, 1700 }, + { 7, 10, 293 }, { 7, 10, 382 }, { 7, 10, 1026 }, { 7, 10, 1087 }, + { 7, 10, 2027 }, { 8, 10, 252 }, { 8, 10, 727 }, { 8, 10, 729 }, + { 9, 10, 30 }, { 9, 10, 199 }, { 9, 10, 231 }, { 9, 10, 251 }, + { 9, 10, 334 }, { 9, 10, 361 }, { 9, 10, 712 }, { 10, 10, 55 }, + { 10, 10, 60 }, { 10, 10, 232 }, { 10, 10, 332 }, { 10, 10, 384 }, + { 10, 10, 396 }, { 10, 10, 504 }, { 10, 10, 542 }, { 10, 10, 652 }, + { 11, 10, 20 }, { 11, 10, 48 }, { 11, 10, 207 }, { 11, 10, 291 }, + { 11, 10, 298 }, { 11, 10, 342 }, { 11, 10, 365 }, { 11, 10, 394 }, + { 11, 10, 620 }, { 11, 10, 705 }, { 11, 10, 1017 }, { 12, 10, 123 }, + { 12, 10, 340 }, { 12, 10, 406 }, { 12, 10, 643 }, { 13, 10, 61 }, + { 13, 10, 269 }, { 13, 10, 311 }, { 13, 10, 319 }, { 13, 10, 486 }, + { 14, 10, 234 }, { 15, 10, 62 }, { 15, 10, 85 }, { 16, 10, 71 }, + { 18, 10, 119 }, { 148, 10, 105 }, { 150, 0, 37 }, { 4, 11, 208 }, + { 5, 11, 106 }, { 6, 11, 531 }, { 8, 11, 408 }, { 9, 11, 188 }, + { 138, 11, 572 }, { 132, 0, 564 }, { 6, 0, 513 }, { 135, 0, 1052 }, + { 132, 0, 825 }, { 9, 0, 899 }, { 140, 11, 441 }, { 134, 0, 778 }, + { 133, 11, 379 }, { 7, 0, 1417 }, { 12, 0, 382 }, { 17, 0, 48 }, + { 152, 0, 12 }, { 132, 11, 241 }, { 7, 0, 1116 }, { 6, 10, 379 }, + { 7, 10, 270 }, { 8, 10, 176 }, { 8, 10, 183 }, { 9, 10, 432 }, + { 9, 10, 661 }, { 12, 10, 247 }, { 12, 10, 617 }, { 146, 10, 125 }, + { 5, 10, 792 }, { 133, 10, 900 }, { 6, 0, 545 }, { 7, 0, 565 }, + { 7, 0, 1669 }, { 10, 0, 114 }, { 11, 0, 642 }, { 140, 0, 618 }, + { 133, 0, 5 }, { 138, 11, 7 }, { 132, 11, 259 }, { 135, 0, 192 }, + { 134, 0, 701 }, { 136, 0, 763 }, { 135, 10, 1979 }, { 4, 10, 901 }, + { 133, 10, 776 }, { 10, 0, 755 }, { 147, 0, 29 }, { 133, 0, 759 }, + { 4, 11, 173 }, { 5, 11, 312 }, { 5, 11, 512 }, { 135, 11, 1285 }, + { 7, 11, 1603 }, { 7, 11, 1691 }, { 9, 11, 464 }, { 11, 11, 195 }, + { 12, 11, 279 }, { 12, 11, 448 }, { 14, 11, 11 }, { 147, 11, 102 }, + { 7, 0, 370 }, { 7, 0, 1007 }, { 7, 0, 1177 }, { 135, 0, 1565 }, + { 135, 0, 1237 }, { 4, 0, 87 }, { 5, 0, 250 }, { 141, 0, 298 }, + { 4, 11, 452 }, { 5, 11, 583 }, { 5, 11, 817 }, { 6, 11, 433 }, + { 7, 11, 593 }, { 7, 11, 720 }, { 7, 11, 1378 }, { 8, 11, 161 }, + { 9, 11, 284 }, { 10, 11, 313 }, { 139, 11, 886 }, { 4, 11, 547 }, + { 135, 11, 1409 }, { 136, 11, 722 }, { 4, 10, 37 }, { 5, 10, 334 }, + { 135, 10, 1253 }, { 132, 10, 508 }, { 12, 0, 107 }, { 146, 0, 31 }, + { 8, 11, 420 }, { 139, 11, 193 }, { 135, 0, 814 }, { 135, 11, 409 }, + { 140, 0, 991 }, { 4, 0, 57 }, { 7, 0, 1195 }, { 7, 0, 1438 }, + { 7, 0, 1548 }, { 7, 0, 1835 }, { 7, 0, 1904 }, { 9, 0, 757 }, + { 10, 0, 604 }, { 139, 0, 519 }, { 132, 0, 540 }, { 138, 11, 308 }, + { 132, 10, 533 }, { 136, 0, 608 }, { 144, 11, 65 }, { 4, 0, 1014 }, + { 134, 0, 2029 }, { 4, 0, 209 }, { 7, 0, 902 }, { 5, 11, 1002 }, + { 136, 11, 745 }, { 134, 0, 2030 }, { 6, 0, 303 }, { 7, 0, 335 }, + { 7, 0, 1437 }, { 7, 0, 1668 }, { 8, 0, 553 }, { 8, 0, 652 }, + { 8, 0, 656 }, { 9, 0, 558 }, { 11, 0, 743 }, { 149, 0, 18 }, + { 5, 11, 575 }, { 6, 11, 354 }, { 135, 11, 701 }, { 4, 11, 239 }, + { 6, 11, 477 }, { 7, 11, 1607 }, { 11, 11, 68 }, { 139, 11, 617 }, + { 132, 0, 559 }, { 8, 0, 527 }, { 18, 0, 60 }, { 147, 0, 24 }, + { 133, 10, 920 }, { 138, 0, 511 }, { 133, 0, 1017 }, { 133, 0, 675 }, + { 138, 10, 391 }, { 11, 0, 156 }, { 135, 10, 1952 }, { 138, 11, 369 }, + { 132, 11, 367 }, { 133, 0, 709 }, { 6, 0, 698 }, { 134, 0, 887 }, + { 142, 10, 126 }, { 134, 0, 1745 }, { 132, 10, 483 }, { 13, 11, 299 }, + { 142, 11, 75 }, { 133, 0, 714 }, { 7, 0, 8 }, { 136, 0, 206 }, + { 138, 10, 480 }, { 4, 11, 694 }, { 9, 10, 495 }, { 146, 10, 104 }, + { 7, 11, 1248 }, { 11, 11, 621 }, { 139, 11, 702 }, { 140, 11, 687 }, + { 132, 0, 776 }, { 139, 10, 1009 }, { 135, 0, 1272 }, { 134, 0, 1059 }, + { 8, 10, 653 }, { 13, 10, 93 }, { 147, 10, 14 }, { 135, 11, 213 }, + { 136, 0, 406 }, { 133, 10, 172 }, { 132, 0, 947 }, { 8, 0, 175 }, + { 10, 0, 168 }, { 138, 0, 573 }, { 132, 0, 870 }, { 6, 0, 1567 }, + { 151, 11, 28 }, { 134, 11, 472 }, { 5, 10, 260 }, { 136, 11, 132 }, + { 4, 11, 751 }, { 11, 11, 390 }, { 140, 11, 32 }, { 4, 11, 409 }, + { 133, 11, 78 }, { 12, 0, 554 }, { 6, 11, 473 }, { 145, 11, 105 }, + { 133, 0, 784 }, { 8, 0, 908 }, { 136, 11, 306 }, { 139, 0, 882 }, + { 6, 0, 358 }, { 7, 0, 1393 }, { 8, 0, 396 }, { 10, 0, 263 }, + { 14, 0, 154 }, { 16, 0, 48 }, { 17, 0, 8 }, { 7, 11, 1759 }, + { 8, 11, 396 }, { 10, 11, 263 }, { 14, 11, 154 }, { 16, 11, 48 }, + { 145, 11, 8 }, { 13, 11, 163 }, { 13, 11, 180 }, { 18, 11, 78 }, + { 148, 11, 35 }, { 14, 0, 32 }, { 18, 0, 85 }, { 20, 0, 2 }, + { 152, 0, 16 }, { 7, 0, 228 }, { 10, 0, 770 }, { 8, 10, 167 }, + { 8, 10, 375 }, { 9, 10, 82 }, { 9, 10, 561 }, { 138, 10, 620 }, + { 132, 0, 845 }, { 9, 0, 14 }, { 9, 0, 441 }, { 10, 0, 306 }, + { 139, 0, 9 }, { 11, 0, 966 }, { 12, 0, 287 }, { 13, 0, 342 }, + { 13, 0, 402 }, { 15, 0, 110 }, { 15, 0, 163 }, { 8, 10, 194 }, + { 136, 10, 756 }, { 134, 0, 1578 }, { 4, 0, 967 }, { 6, 0, 1820 }, + { 6, 0, 1847 }, { 140, 0, 716 }, { 136, 0, 594 }, { 7, 0, 1428 }, + { 7, 0, 1640 }, { 7, 0, 1867 }, { 9, 0, 169 }, { 9, 0, 182 }, + { 9, 0, 367 }, { 9, 0, 478 }, { 9, 0, 506 }, { 9, 0, 551 }, + { 9, 0, 557 }, { 9, 0, 648 }, { 9, 0, 697 }, { 9, 0, 705 }, + { 9, 0, 725 }, { 9, 0, 787 }, { 9, 0, 794 }, { 10, 0, 198 }, + { 10, 0, 214 }, { 10, 0, 267 }, { 10, 0, 275 }, { 10, 0, 456 }, + { 10, 0, 551 }, { 10, 0, 561 }, { 10, 0, 613 }, { 10, 0, 627 }, + { 10, 0, 668 }, { 10, 0, 675 }, { 10, 0, 691 }, { 10, 0, 695 }, + { 10, 0, 707 }, { 10, 0, 715 }, { 11, 0, 183 }, { 11, 0, 201 }, + { 11, 0, 244 }, { 11, 0, 262 }, { 11, 0, 352 }, { 11, 0, 439 }, + { 11, 0, 493 }, { 11, 0, 572 }, { 11, 0, 591 }, { 11, 0, 608 }, + { 11, 0, 611 }, { 11, 0, 646 }, { 11, 0, 674 }, { 11, 0, 711 }, + { 11, 0, 751 }, { 11, 0, 761 }, { 11, 0, 776 }, { 11, 0, 785 }, + { 11, 0, 850 }, { 11, 0, 853 }, { 11, 0, 862 }, { 11, 0, 865 }, + { 11, 0, 868 }, { 11, 0, 875 }, { 11, 0, 898 }, { 11, 0, 902 }, + { 11, 0, 903 }, { 11, 0, 910 }, { 11, 0, 932 }, { 11, 0, 942 }, + { 11, 0, 957 }, { 11, 0, 967 }, { 11, 0, 972 }, { 12, 0, 148 }, + { 12, 0, 195 }, { 12, 0, 220 }, { 12, 0, 237 }, { 12, 0, 318 }, + { 12, 0, 339 }, { 12, 0, 393 }, { 12, 0, 445 }, { 12, 0, 450 }, + { 12, 0, 474 }, { 12, 0, 505 }, { 12, 0, 509 }, { 12, 0, 533 }, + { 12, 0, 591 }, { 12, 0, 594 }, { 12, 0, 597 }, { 12, 0, 621 }, + { 12, 0, 633 }, { 12, 0, 642 }, { 13, 0, 59 }, { 13, 0, 60 }, + { 13, 0, 145 }, { 13, 0, 239 }, { 13, 0, 250 }, { 13, 0, 329 }, + { 13, 0, 344 }, { 13, 0, 365 }, { 13, 0, 372 }, { 13, 0, 387 }, + { 13, 0, 403 }, { 13, 0, 414 }, { 13, 0, 456 }, { 13, 0, 470 }, + { 13, 0, 478 }, { 13, 0, 483 }, { 13, 0, 489 }, { 14, 0, 55 }, + { 14, 0, 57 }, { 14, 0, 81 }, { 14, 0, 90 }, { 14, 0, 148 }, + { 14, 0, 239 }, { 14, 0, 266 }, { 14, 0, 321 }, { 14, 0, 326 }, + { 14, 0, 327 }, { 14, 0, 330 }, { 14, 0, 347 }, { 14, 0, 355 }, + { 14, 0, 401 }, { 14, 0, 404 }, { 14, 0, 411 }, { 14, 0, 414 }, + { 14, 0, 416 }, { 14, 0, 420 }, { 15, 0, 61 }, { 15, 0, 74 }, + { 15, 0, 87 }, { 15, 0, 88 }, { 15, 0, 94 }, { 15, 0, 96 }, + { 15, 0, 116 }, { 15, 0, 149 }, { 15, 0, 154 }, { 16, 0, 50 }, + { 16, 0, 63 }, { 16, 0, 73 }, { 17, 0, 2 }, { 17, 0, 66 }, + { 17, 0, 92 }, { 17, 0, 103 }, { 17, 0, 112 }, { 17, 0, 120 }, + { 18, 0, 50 }, { 18, 0, 54 }, { 18, 0, 82 }, { 18, 0, 86 }, + { 18, 0, 90 }, { 18, 0, 111 }, { 18, 0, 115 }, { 18, 0, 156 }, + { 19, 0, 40 }, { 19, 0, 79 }, { 20, 0, 78 }, { 21, 0, 22 }, + { 135, 11, 883 }, { 5, 0, 161 }, { 135, 0, 839 }, { 4, 0, 782 }, + { 13, 11, 293 }, { 142, 11, 56 }, { 133, 11, 617 }, { 139, 11, 50 }, + { 135, 10, 22 }, { 145, 0, 64 }, { 5, 10, 639 }, { 7, 10, 1249 }, + { 139, 10, 896 }, { 138, 0, 998 }, { 135, 11, 2042 }, { 4, 11, 546 }, + { 142, 11, 233 }, { 6, 0, 1043 }, { 134, 0, 1574 }, { 134, 0, 1496 }, + { 4, 10, 102 }, { 7, 10, 815 }, { 7, 10, 1699 }, { 139, 10, 964 }, + { 12, 0, 781 }, { 142, 0, 461 }, { 4, 11, 313 }, { 133, 11, 577 }, + { 6, 0, 639 }, { 6, 0, 1114 }, { 137, 0, 817 }, { 8, 11, 184 }, + { 141, 11, 433 }, { 7, 0, 1814 }, { 135, 11, 935 }, { 10, 0, 997 }, + { 140, 0, 958 }, { 4, 0, 812 }, { 137, 11, 625 }, { 132, 10, 899 }, + { 136, 10, 795 }, { 5, 11, 886 }, { 6, 11, 46 }, { 6, 11, 1790 }, + { 7, 11, 14 }, { 7, 11, 732 }, { 7, 11, 1654 }, { 8, 11, 95 }, + { 8, 11, 327 }, { 8, 11, 616 }, { 10, 11, 598 }, { 10, 11, 769 }, + { 11, 11, 134 }, { 11, 11, 747 }, { 12, 11, 378 }, { 142, 11, 97 }, + { 136, 0, 139 }, { 6, 10, 52 }, { 9, 10, 104 }, { 9, 10, 559 }, + { 12, 10, 308 }, { 147, 10, 87 }, { 133, 11, 1021 }, { 132, 10, 604 }, + { 132, 10, 301 }, { 136, 10, 779 }, { 7, 0, 643 }, { 136, 0, 236 }, + { 132, 11, 153 }, { 134, 0, 1172 }, { 147, 10, 32 }, { 133, 11, 798 }, + { 6, 0, 1338 }, { 132, 11, 587 }, { 6, 11, 598 }, { 7, 11, 42 }, + { 8, 11, 695 }, { 10, 11, 212 }, { 11, 11, 158 }, { 14, 11, 196 }, + { 145, 11, 85 }, { 135, 10, 508 }, { 5, 11, 957 }, { 5, 11, 1008 }, + { 135, 11, 249 }, { 4, 11, 129 }, { 135, 11, 465 }, { 5, 0, 54 }, + { 7, 11, 470 }, { 7, 11, 1057 }, { 7, 11, 1201 }, { 9, 11, 755 }, + { 11, 11, 906 }, { 140, 11, 527 }, { 7, 11, 908 }, { 146, 11, 7 }, + { 5, 11, 148 }, { 136, 11, 450 }, { 144, 11, 1 }, { 4, 0, 256 }, + { 135, 0, 1488 }, { 9, 0, 351 }, { 6, 10, 310 }, { 7, 10, 1849 }, + { 8, 10, 72 }, { 8, 10, 272 }, { 8, 10, 431 }, { 9, 10, 12 }, + { 10, 10, 563 }, { 10, 10, 630 }, { 10, 10, 796 }, { 10, 10, 810 }, + { 11, 10, 367 }, { 11, 10, 599 }, { 11, 10, 686 }, { 140, 10, 672 }, + { 6, 0, 1885 }, { 6, 0, 1898 }, { 6, 0, 1899 }, { 140, 0, 955 }, + { 4, 0, 714 }, { 133, 0, 469 }, { 6, 0, 1270 }, { 134, 0, 1456 }, + { 132, 0, 744 }, { 6, 0, 313 }, { 7, 10, 537 }, { 8, 10, 64 }, + { 9, 10, 127 }, { 10, 10, 496 }, { 12, 10, 510 }, { 141, 10, 384 }, + { 4, 11, 217 }, { 4, 10, 244 }, { 5, 11, 710 }, { 7, 10, 233 }, + { 7, 11, 1926 }, { 9, 11, 428 }, { 9, 11, 708 }, { 10, 11, 254 }, + { 10, 11, 296 }, { 10, 11, 720 }, { 11, 11, 109 }, { 11, 11, 255 }, + { 12, 11, 165 }, { 12, 11, 315 }, { 13, 11, 107 }, { 13, 11, 203 }, + { 14, 11, 54 }, { 14, 11, 99 }, { 14, 11, 114 }, { 14, 11, 388 }, + { 16, 11, 85 }, { 17, 11, 9 }, { 17, 11, 33 }, { 20, 11, 25 }, + { 20, 11, 28 }, { 20, 11, 29 }, { 21, 11, 9 }, { 21, 11, 10 }, + { 21, 11, 34 }, { 150, 11, 17 }, { 138, 0, 402 }, { 7, 0, 969 }, + { 146, 0, 55 }, { 8, 0, 50 }, { 137, 0, 624 }, { 134, 0, 1355 }, + { 132, 0, 572 }, { 134, 10, 1650 }, { 10, 10, 702 }, { 139, 10, 245 }, + { 10, 0, 847 }, { 142, 0, 445 }, { 6, 0, 43 }, { 7, 0, 38 }, + { 8, 0, 248 }, { 138, 0, 513 }, { 133, 0, 369 }, { 137, 10, 338 }, + { 133, 0, 766 }, { 133, 0, 363 }, { 133, 10, 896 }, { 8, 11, 392 }, + { 11, 11, 54 }, { 13, 11, 173 }, { 13, 11, 294 }, { 148, 11, 7 }, + { 134, 0, 678 }, { 7, 11, 1230 }, { 136, 11, 531 }, { 6, 0, 258 }, + { 140, 0, 409 }, { 5, 0, 249 }, { 148, 0, 82 }, { 7, 10, 1117 }, + { 136, 10, 539 }, { 5, 0, 393 }, { 6, 0, 378 }, { 7, 0, 1981 }, + { 9, 0, 32 }, { 9, 0, 591 }, { 10, 0, 685 }, { 10, 0, 741 }, + { 142, 0, 382 }, { 133, 0, 788 }, { 134, 0, 1281 }, { 134, 0, 1295 }, + { 7, 0, 1968 }, { 141, 0, 509 }, { 4, 0, 61 }, { 5, 0, 58 }, + { 5, 0, 171 }, { 5, 0, 683 }, { 6, 0, 291 }, { 6, 0, 566 }, + { 7, 0, 1650 }, { 11, 0, 523 }, { 12, 0, 273 }, { 12, 0, 303 }, + { 15, 0, 39 }, { 143, 0, 111 }, { 6, 0, 706 }, { 134, 0, 1283 }, + { 134, 0, 589 }, { 135, 11, 1433 }, { 133, 11, 435 }, { 7, 0, 1059 }, + { 13, 0, 54 }, { 5, 10, 4 }, { 5, 10, 810 }, { 6, 10, 13 }, + { 6, 10, 538 }, { 6, 10, 1690 }, { 6, 10, 1726 }, { 7, 10, 1819 }, + { 8, 10, 148 }, { 8, 10, 696 }, { 8, 10, 791 }, { 12, 10, 125 }, + { 143, 10, 9 }, { 135, 10, 1268 }, { 5, 11, 85 }, { 6, 11, 419 }, + { 7, 11, 134 }, { 7, 11, 305 }, { 7, 11, 361 }, { 7, 11, 1337 }, + { 8, 11, 71 }, { 140, 11, 519 }, { 137, 0, 824 }, { 140, 11, 688 }, + { 5, 11, 691 }, { 7, 11, 345 }, { 7, 10, 1385 }, { 9, 11, 94 }, + { 11, 10, 582 }, { 11, 10, 650 }, { 11, 10, 901 }, { 11, 10, 949 }, + { 12, 11, 169 }, { 12, 10, 232 }, { 12, 10, 236 }, { 13, 10, 413 }, + { 13, 10, 501 }, { 146, 10, 116 }, { 4, 0, 917 }, { 133, 0, 1005 }, + { 7, 0, 1598 }, { 5, 11, 183 }, { 6, 11, 582 }, { 9, 11, 344 }, + { 10, 11, 679 }, { 140, 11, 435 }, { 4, 10, 925 }, { 5, 10, 803 }, + { 8, 10, 698 }, { 138, 10, 828 }, { 132, 0, 919 }, { 135, 11, 511 }, + { 139, 10, 992 }, { 4, 0, 255 }, { 5, 0, 302 }, { 6, 0, 132 }, + { 7, 0, 128 }, { 7, 0, 283 }, { 7, 0, 1299 }, { 10, 0, 52 }, + { 10, 0, 514 }, { 11, 0, 925 }, { 13, 0, 92 }, { 142, 0, 309 }, + { 134, 0, 1369 }, { 135, 10, 1847 }, { 134, 0, 328 }, { 7, 11, 1993 }, + { 136, 11, 684 }, { 133, 10, 383 }, { 137, 0, 173 }, { 134, 11, 583 }, + { 134, 0, 1411 }, { 19, 0, 65 }, { 5, 11, 704 }, { 8, 11, 357 }, + { 10, 11, 745 }, { 14, 11, 426 }, { 17, 11, 94 }, { 147, 11, 57 }, + { 9, 10, 660 }, { 138, 10, 347 }, { 4, 11, 179 }, { 5, 11, 198 }, + { 133, 11, 697 }, { 7, 11, 347 }, { 7, 11, 971 }, { 8, 11, 181 }, + { 138, 11, 711 }, { 141, 0, 442 }, { 11, 0, 842 }, { 11, 0, 924 }, + { 13, 0, 317 }, { 13, 0, 370 }, { 13, 0, 469 }, { 13, 0, 471 }, + { 14, 0, 397 }, { 18, 0, 69 }, { 18, 0, 145 }, { 7, 10, 572 }, + { 9, 10, 592 }, { 11, 10, 680 }, { 12, 10, 356 }, { 140, 10, 550 }, + { 14, 11, 19 }, { 14, 11, 28 }, { 144, 11, 29 }, { 136, 0, 534 }, + { 4, 11, 243 }, { 5, 11, 203 }, { 7, 11, 19 }, { 7, 11, 71 }, + { 7, 11, 113 }, { 10, 11, 405 }, { 11, 11, 357 }, { 142, 11, 240 }, + { 6, 0, 210 }, { 10, 0, 845 }, { 138, 0, 862 }, { 7, 11, 1351 }, + { 9, 11, 581 }, { 10, 11, 639 }, { 11, 11, 453 }, { 140, 11, 584 }, + { 7, 11, 1450 }, { 139, 11, 99 }, { 10, 0, 892 }, { 12, 0, 719 }, + { 144, 0, 105 }, { 4, 0, 284 }, { 6, 0, 223 }, { 134, 11, 492 }, + { 5, 11, 134 }, { 6, 11, 408 }, { 6, 11, 495 }, { 135, 11, 1593 }, + { 136, 0, 529 }, { 137, 0, 807 }, { 4, 0, 218 }, { 7, 0, 526 }, + { 143, 0, 137 }, { 6, 0, 1444 }, { 142, 11, 4 }, { 132, 11, 665 }, + { 4, 0, 270 }, { 5, 0, 192 }, { 6, 0, 332 }, { 7, 0, 1322 }, + { 4, 11, 248 }, { 7, 11, 137 }, { 137, 11, 349 }, { 140, 0, 661 }, + { 7, 0, 1517 }, { 11, 0, 597 }, { 14, 0, 76 }, { 14, 0, 335 }, + { 20, 0, 33 }, { 7, 10, 748 }, { 139, 10, 700 }, { 5, 11, 371 }, + { 135, 11, 563 }, { 146, 11, 57 }, { 133, 10, 127 }, { 133, 0, 418 }, + { 4, 11, 374 }, { 7, 11, 547 }, { 7, 11, 1700 }, { 7, 11, 1833 }, + { 139, 11, 858 }, { 6, 10, 198 }, { 140, 10, 83 }, { 7, 11, 1812 }, + { 13, 11, 259 }, { 13, 11, 356 }, { 14, 11, 242 }, { 147, 11, 114 }, + { 7, 0, 379 }, { 8, 0, 481 }, { 9, 0, 377 }, { 5, 10, 276 }, + { 6, 10, 55 }, { 135, 10, 1369 }, { 138, 11, 286 }, { 5, 0, 1003 }, + { 6, 0, 149 }, { 6, 10, 1752 }, { 136, 10, 726 }, { 8, 0, 262 }, + { 9, 0, 627 }, { 10, 0, 18 }, { 11, 0, 214 }, { 11, 0, 404 }, + { 11, 0, 457 }, { 11, 0, 780 }, { 11, 0, 913 }, { 13, 0, 401 }, + { 14, 0, 200 }, { 6, 11, 1647 }, { 7, 11, 1552 }, { 7, 11, 2010 }, + { 9, 11, 494 }, { 137, 11, 509 }, { 135, 0, 742 }, { 136, 0, 304 }, + { 132, 0, 142 }, { 133, 10, 764 }, { 6, 10, 309 }, { 7, 10, 331 }, + { 138, 10, 550 }, { 135, 10, 1062 }, { 6, 11, 123 }, { 7, 11, 214 }, + { 7, 10, 986 }, { 9, 11, 728 }, { 10, 11, 157 }, { 11, 11, 346 }, + { 11, 11, 662 }, { 143, 11, 106 }, { 135, 10, 1573 }, { 7, 0, 925 }, + { 137, 0, 799 }, { 4, 0, 471 }, { 5, 0, 51 }, { 6, 0, 602 }, + { 8, 0, 484 }, { 138, 0, 195 }, { 136, 0, 688 }, { 132, 0, 697 }, + { 6, 0, 1169 }, { 6, 0, 1241 }, { 6, 10, 194 }, { 7, 10, 133 }, + { 10, 10, 493 }, { 10, 10, 570 }, { 139, 10, 664 }, { 140, 0, 751 }, + { 7, 0, 929 }, { 10, 0, 452 }, { 11, 0, 878 }, { 16, 0, 33 }, + { 5, 10, 24 }, { 5, 10, 569 }, { 6, 10, 3 }, { 6, 10, 119 }, + { 6, 10, 143 }, { 6, 10, 440 }, { 7, 10, 599 }, { 7, 10, 1686 }, + { 7, 10, 1854 }, { 8, 10, 424 }, { 9, 10, 43 }, { 9, 10, 584 }, + { 9, 10, 760 }, { 10, 10, 328 }, { 11, 10, 159 }, { 11, 10, 253 }, + { 12, 10, 487 }, { 140, 10, 531 }, { 4, 11, 707 }, { 13, 11, 106 }, + { 18, 11, 49 }, { 147, 11, 41 }, { 5, 0, 221 }, { 5, 11, 588 }, + { 134, 11, 393 }, { 134, 0, 1437 }, { 6, 11, 211 }, { 7, 11, 1690 }, + { 11, 11, 486 }, { 140, 11, 369 }, { 5, 10, 14 }, { 5, 10, 892 }, + { 6, 10, 283 }, { 7, 10, 234 }, { 136, 10, 537 }, { 4, 0, 988 }, + { 136, 0, 955 }, { 135, 0, 1251 }, { 4, 10, 126 }, { 8, 10, 635 }, + { 147, 10, 34 }, { 4, 10, 316 }, { 135, 10, 1561 }, { 137, 10, 861 }, + { 4, 10, 64 }, { 5, 10, 352 }, { 5, 10, 720 }, { 6, 10, 368 }, + { 139, 10, 359 }, { 134, 0, 192 }, { 4, 0, 132 }, { 5, 0, 69 }, + { 135, 0, 1242 }, { 7, 10, 1577 }, { 10, 10, 304 }, { 10, 10, 549 }, + { 12, 10, 365 }, { 13, 10, 220 }, { 13, 10, 240 }, { 142, 10, 33 }, + { 4, 0, 111 }, { 7, 0, 865 }, { 134, 11, 219 }, { 5, 11, 582 }, + { 6, 11, 1646 }, { 7, 11, 99 }, { 7, 11, 1962 }, { 7, 11, 1986 }, + { 8, 11, 515 }, { 8, 11, 773 }, { 9, 11, 23 }, { 9, 11, 491 }, + { 12, 11, 620 }, { 14, 11, 52 }, { 145, 11, 50 }, { 132, 0, 767 }, + { 7, 11, 568 }, { 148, 11, 21 }, { 6, 0, 42 }, { 7, 0, 1416 }, + { 7, 0, 2005 }, { 8, 0, 131 }, { 8, 0, 466 }, { 9, 0, 672 }, + { 13, 0, 252 }, { 20, 0, 103 }, { 133, 11, 851 }, { 135, 0, 1050 }, + { 6, 10, 175 }, { 137, 10, 289 }, { 5, 10, 432 }, { 133, 10, 913 }, + { 6, 0, 44 }, { 136, 0, 368 }, { 135, 11, 784 }, { 132, 0, 570 }, + { 133, 0, 120 }, { 139, 10, 595 }, { 140, 0, 29 }, { 6, 0, 227 }, + { 135, 0, 1589 }, { 4, 11, 98 }, { 7, 11, 1365 }, { 9, 11, 422 }, + { 9, 11, 670 }, { 10, 11, 775 }, { 11, 11, 210 }, { 13, 11, 26 }, + { 13, 11, 457 }, { 141, 11, 476 }, { 140, 10, 80 }, { 5, 10, 931 }, + { 134, 10, 1698 }, { 133, 0, 522 }, { 134, 0, 1120 }, { 135, 0, 1529 }, + { 12, 0, 739 }, { 14, 0, 448 }, { 142, 0, 467 }, { 11, 10, 526 }, + { 11, 10, 939 }, { 141, 10, 290 }, { 5, 10, 774 }, { 6, 10, 1637 }, + { 6, 10, 1686 }, { 134, 10, 1751 }, { 6, 0, 1667 }, { 135, 0, 2036 }, + { 7, 10, 1167 }, { 11, 10, 934 }, { 13, 10, 391 }, { 145, 10, 76 }, + { 137, 11, 147 }, { 6, 10, 260 }, { 7, 10, 1484 }, { 11, 11, 821 }, + { 12, 11, 110 }, { 12, 11, 153 }, { 18, 11, 41 }, { 150, 11, 19 }, + { 6, 0, 511 }, { 12, 0, 132 }, { 134, 10, 573 }, { 5, 0, 568 }, + { 6, 0, 138 }, { 135, 0, 1293 }, { 132, 0, 1020 }, { 8, 0, 258 }, + { 9, 0, 208 }, { 137, 0, 359 }, { 4, 0, 565 }, { 8, 0, 23 }, + { 136, 0, 827 }, { 134, 0, 344 }, { 4, 0, 922 }, { 5, 0, 1023 }, + { 13, 11, 477 }, { 14, 11, 120 }, { 148, 11, 61 }, { 134, 0, 240 }, + { 5, 11, 209 }, { 6, 11, 30 }, { 11, 11, 56 }, { 139, 11, 305 }, + { 6, 0, 171 }, { 7, 0, 1002 }, { 7, 0, 1324 }, { 9, 0, 415 }, + { 14, 0, 230 }, { 18, 0, 68 }, { 4, 10, 292 }, { 4, 10, 736 }, + { 5, 10, 871 }, { 6, 10, 1689 }, { 7, 10, 1944 }, { 137, 10, 580 }, + { 9, 11, 635 }, { 139, 11, 559 }, { 4, 11, 150 }, { 5, 11, 303 }, + { 134, 11, 327 }, { 6, 10, 63 }, { 135, 10, 920 }, { 133, 10, 793 }, + { 8, 11, 192 }, { 10, 11, 78 }, { 10, 11, 555 }, { 11, 11, 308 }, + { 13, 11, 359 }, { 147, 11, 95 }, { 135, 11, 786 }, { 135, 11, 1712 }, + { 136, 0, 402 }, { 6, 0, 754 }, { 6, 11, 1638 }, { 7, 11, 79 }, + { 7, 11, 496 }, { 9, 11, 138 }, { 10, 11, 336 }, { 11, 11, 12 }, + { 12, 11, 412 }, { 12, 11, 440 }, { 142, 11, 305 }, { 4, 0, 716 }, + { 141, 0, 31 }, { 133, 0, 982 }, { 8, 0, 691 }, { 8, 0, 731 }, + { 5, 10, 67 }, { 6, 10, 62 }, { 6, 10, 374 }, { 135, 10, 1391 }, + { 9, 10, 790 }, { 140, 10, 47 }, { 139, 11, 556 }, { 151, 11, 1 }, + { 7, 11, 204 }, { 7, 11, 415 }, { 8, 11, 42 }, { 10, 11, 85 }, + { 11, 11, 33 }, { 11, 11, 564 }, { 12, 11, 571 }, { 149, 11, 1 }, + { 8, 0, 888 }, { 7, 11, 610 }, { 135, 11, 1501 }, { 4, 10, 391 }, + { 135, 10, 1169 }, { 5, 0, 847 }, { 9, 0, 840 }, { 138, 0, 803 }, + { 137, 0, 823 }, { 134, 0, 785 }, { 8, 0, 152 }, { 9, 0, 53 }, + { 9, 0, 268 }, { 9, 0, 901 }, { 10, 0, 518 }, { 10, 0, 829 }, + { 11, 0, 188 }, { 13, 0, 74 }, { 14, 0, 46 }, { 15, 0, 17 }, + { 15, 0, 33 }, { 17, 0, 40 }, { 18, 0, 36 }, { 19, 0, 20 }, + { 22, 0, 1 }, { 152, 0, 2 }, { 4, 11, 3 }, { 5, 11, 247 }, + { 5, 11, 644 }, { 7, 11, 744 }, { 7, 11, 1207 }, { 7, 11, 1225 }, + { 7, 11, 1909 }, { 146, 11, 147 }, { 136, 0, 532 }, { 135, 0, 681 }, + { 132, 10, 271 }, { 140, 0, 314 }, { 140, 0, 677 }, { 4, 0, 684 }, + { 136, 0, 384 }, { 5, 11, 285 }, { 9, 11, 67 }, { 13, 11, 473 }, + { 143, 11, 82 }, { 4, 10, 253 }, { 5, 10, 544 }, { 7, 10, 300 }, + { 137, 10, 340 }, { 7, 0, 110 }, { 7, 0, 447 }, { 8, 0, 290 }, + { 8, 0, 591 }, { 9, 0, 382 }, { 9, 0, 649 }, { 11, 0, 71 }, + { 11, 0, 155 }, { 11, 0, 313 }, { 12, 0, 5 }, { 13, 0, 325 }, + { 142, 0, 287 }, { 134, 0, 1818 }, { 136, 0, 1007 }, { 138, 0, 321 }, + { 7, 0, 360 }, { 7, 0, 425 }, { 9, 0, 66 }, { 9, 0, 278 }, + { 138, 0, 644 }, { 133, 10, 818 }, { 5, 0, 385 }, { 5, 10, 541 }, + { 6, 10, 94 }, { 6, 10, 499 }, { 7, 10, 230 }, { 139, 10, 321 }, + { 4, 10, 920 }, { 5, 10, 25 }, { 5, 10, 790 }, { 6, 10, 457 }, + { 7, 10, 853 }, { 136, 10, 788 }, { 4, 0, 900 }, { 133, 0, 861 }, + { 5, 0, 254 }, { 7, 0, 985 }, { 136, 0, 73 }, { 7, 0, 1959 }, + { 136, 0, 683 }, { 134, 10, 1765 }, { 133, 10, 822 }, { 132, 10, 634 }, + { 4, 11, 29 }, { 6, 11, 532 }, { 7, 11, 1628 }, { 7, 11, 1648 }, + { 9, 11, 303 }, { 9, 11, 350 }, { 10, 11, 433 }, { 11, 11, 97 }, + { 11, 11, 557 }, { 11, 11, 745 }, { 12, 11, 289 }, { 12, 11, 335 }, + { 12, 11, 348 }, { 12, 11, 606 }, { 13, 11, 116 }, { 13, 11, 233 }, + { 13, 11, 466 }, { 14, 11, 181 }, { 14, 11, 209 }, { 14, 11, 232 }, + { 14, 11, 236 }, { 14, 11, 300 }, { 16, 11, 41 }, { 148, 11, 97 }, + { 19, 0, 86 }, { 6, 10, 36 }, { 7, 10, 658 }, { 136, 10, 454 }, + { 135, 11, 1692 }, { 132, 0, 725 }, { 5, 11, 501 }, { 7, 11, 1704 }, + { 9, 11, 553 }, { 11, 11, 520 }, { 12, 11, 557 }, { 141, 11, 249 }, + { 134, 0, 196 }, { 133, 0, 831 }, { 136, 0, 723 }, { 7, 0, 1897 }, + { 13, 0, 80 }, { 13, 0, 437 }, { 145, 0, 74 }, { 4, 0, 992 }, + { 6, 0, 627 }, { 136, 0, 994 }, { 135, 11, 1294 }, { 132, 10, 104 }, + { 5, 0, 848 }, { 6, 0, 66 }, { 136, 0, 764 }, { 4, 0, 36 }, + { 7, 0, 1387 }, { 10, 0, 205 }, { 139, 0, 755 }, { 6, 0, 1046 }, + { 134, 0, 1485 }, { 134, 0, 950 }, { 132, 0, 887 }, { 14, 0, 450 }, + { 148, 0, 111 }, { 7, 0, 620 }, { 7, 0, 831 }, { 9, 10, 542 }, + { 9, 10, 566 }, { 138, 10, 728 }, { 6, 0, 165 }, { 138, 0, 388 }, + { 139, 10, 263 }, { 4, 0, 719 }, { 135, 0, 155 }, { 138, 10, 468 }, + { 6, 11, 453 }, { 144, 11, 36 }, { 134, 11, 129 }, { 5, 0, 533 }, + { 7, 0, 755 }, { 138, 0, 780 }, { 134, 0, 1465 }, { 4, 0, 353 }, + { 6, 0, 146 }, { 6, 0, 1789 }, { 7, 0, 427 }, { 7, 0, 990 }, + { 7, 0, 1348 }, { 9, 0, 665 }, { 9, 0, 898 }, { 11, 0, 893 }, + { 142, 0, 212 }, { 7, 10, 87 }, { 142, 10, 288 }, { 4, 0, 45 }, + { 135, 0, 1257 }, { 12, 0, 7 }, { 7, 10, 988 }, { 7, 10, 1939 }, + { 9, 10, 64 }, { 9, 10, 502 }, { 12, 10, 34 }, { 13, 10, 12 }, + { 13, 10, 234 }, { 147, 10, 77 }, { 4, 0, 607 }, { 5, 11, 60 }, + { 6, 11, 504 }, { 7, 11, 614 }, { 7, 11, 1155 }, { 140, 11, 0 }, + { 135, 10, 141 }, { 8, 11, 198 }, { 11, 11, 29 }, { 140, 11, 534 }, + { 140, 0, 65 }, { 136, 0, 816 }, { 132, 10, 619 }, { 139, 0, 88 }, + { 5, 10, 246 }, { 8, 10, 189 }, { 9, 10, 355 }, { 9, 10, 512 }, + { 10, 10, 124 }, { 10, 10, 453 }, { 11, 10, 143 }, { 11, 10, 416 }, + { 11, 10, 859 }, { 141, 10, 341 }, { 4, 11, 379 }, { 135, 11, 1397 }, + { 4, 0, 600 }, { 137, 0, 621 }, { 133, 0, 367 }, { 134, 0, 561 }, + { 6, 0, 559 }, { 134, 0, 1691 }, { 6, 0, 585 }, { 134, 11, 585 }, + { 135, 11, 1228 }, { 4, 11, 118 }, { 5, 10, 678 }, { 6, 11, 274 }, + { 6, 11, 361 }, { 7, 11, 75 }, { 141, 11, 441 }, { 135, 11, 1818 }, + { 137, 11, 841 }, { 5, 0, 573 }, { 6, 0, 287 }, { 7, 10, 862 }, + { 7, 10, 1886 }, { 138, 10, 179 }, { 132, 10, 517 }, { 140, 11, 693 }, + { 5, 11, 314 }, { 6, 11, 221 }, { 7, 11, 419 }, { 10, 11, 650 }, + { 11, 11, 396 }, { 12, 11, 156 }, { 13, 11, 369 }, { 14, 11, 333 }, + { 145, 11, 47 }, { 140, 10, 540 }, { 136, 10, 667 }, { 11, 10, 403 }, + { 146, 10, 83 }, { 6, 0, 672 }, { 133, 10, 761 }, { 9, 0, 157 }, + { 10, 10, 131 }, { 140, 10, 72 }, { 7, 0, 714 }, { 134, 11, 460 }, + { 134, 0, 456 }, { 133, 0, 925 }, { 5, 11, 682 }, { 135, 11, 1887 }, + { 136, 11, 510 }, { 136, 11, 475 }, { 133, 11, 1016 }, { 9, 0, 19 }, + { 7, 11, 602 }, { 8, 11, 179 }, { 10, 11, 781 }, { 140, 11, 126 }, + { 6, 11, 329 }, { 138, 11, 111 }, { 6, 0, 822 }, { 134, 0, 1473 }, + { 144, 11, 86 }, { 11, 0, 113 }, { 139, 11, 113 }, { 5, 11, 821 }, + { 134, 11, 1687 }, { 133, 10, 449 }, { 7, 0, 463 }, { 17, 0, 69 }, + { 136, 10, 103 }, { 7, 10, 2028 }, { 138, 10, 641 }, { 6, 0, 193 }, + { 7, 0, 240 }, { 7, 0, 1682 }, { 10, 0, 51 }, { 10, 0, 640 }, + { 11, 0, 410 }, { 13, 0, 82 }, { 14, 0, 247 }, { 14, 0, 331 }, + { 142, 0, 377 }, { 6, 0, 471 }, { 11, 0, 411 }, { 142, 0, 2 }, + { 5, 11, 71 }, { 7, 11, 1407 }, { 9, 11, 388 }, { 9, 11, 704 }, + { 10, 11, 261 }, { 10, 11, 619 }, { 11, 11, 547 }, { 11, 11, 619 }, + { 143, 11, 157 }, { 136, 0, 633 }, { 135, 0, 1148 }, { 6, 0, 554 }, + { 7, 0, 1392 }, { 12, 0, 129 }, { 7, 10, 1274 }, { 7, 10, 1386 }, + { 7, 11, 2008 }, { 9, 11, 337 }, { 10, 11, 517 }, { 146, 10, 87 }, + { 7, 0, 803 }, { 8, 0, 542 }, { 6, 10, 187 }, { 7, 10, 1203 }, + { 8, 10, 380 }, { 14, 10, 117 }, { 149, 10, 28 }, { 6, 10, 297 }, + { 7, 10, 793 }, { 139, 10, 938 }, { 8, 0, 438 }, { 11, 0, 363 }, + { 7, 10, 464 }, { 11, 10, 105 }, { 12, 10, 231 }, { 14, 10, 386 }, + { 15, 10, 102 }, { 148, 10, 75 }, { 5, 11, 16 }, { 6, 11, 86 }, + { 6, 11, 603 }, { 7, 11, 292 }, { 7, 11, 561 }, { 8, 11, 257 }, + { 8, 11, 382 }, { 9, 11, 721 }, { 9, 11, 778 }, { 11, 11, 581 }, + { 140, 11, 466 }, { 6, 0, 717 }, { 4, 11, 486 }, { 133, 11, 491 }, + { 132, 0, 875 }, { 132, 11, 72 }, { 6, 11, 265 }, { 135, 11, 847 }, + { 4, 0, 237 }, { 135, 0, 514 }, { 6, 0, 392 }, { 7, 0, 65 }, + { 135, 0, 2019 }, { 140, 11, 261 }, { 135, 11, 922 }, { 137, 11, 404 }, + { 12, 0, 563 }, { 14, 0, 101 }, { 18, 0, 129 }, { 7, 10, 1010 }, + { 11, 10, 733 }, { 11, 10, 759 }, { 13, 10, 34 }, { 146, 10, 45 }, + { 7, 10, 1656 }, { 9, 10, 369 }, { 10, 10, 338 }, { 10, 10, 490 }, + { 11, 10, 154 }, { 11, 10, 545 }, { 11, 10, 775 }, { 13, 10, 77 }, + { 141, 10, 274 }, { 4, 0, 444 }, { 10, 0, 146 }, { 140, 0, 9 }, + { 139, 11, 163 }, { 7, 0, 1260 }, { 135, 0, 1790 }, { 9, 0, 222 }, + { 10, 0, 43 }, { 139, 0, 900 }, { 137, 11, 234 }, { 138, 0, 971 }, + { 137, 0, 761 }, { 134, 0, 699 }, { 136, 11, 434 }, { 6, 0, 1116 }, + { 7, 0, 1366 }, { 5, 10, 20 }, { 6, 11, 197 }, { 6, 10, 298 }, + { 7, 10, 659 }, { 8, 11, 205 }, { 137, 10, 219 }, { 132, 11, 490 }, + { 11, 11, 820 }, { 150, 11, 51 }, { 7, 10, 1440 }, { 11, 10, 854 }, + { 11, 10, 872 }, { 11, 10, 921 }, { 12, 10, 551 }, { 13, 10, 472 }, + { 142, 10, 367 }, { 140, 11, 13 }, { 132, 0, 829 }, { 12, 0, 242 }, + { 132, 10, 439 }, { 136, 10, 669 }, { 6, 0, 593 }, { 6, 11, 452 }, + { 7, 11, 312 }, { 138, 11, 219 }, { 4, 11, 333 }, { 9, 11, 176 }, + { 12, 11, 353 }, { 141, 11, 187 }, { 7, 0, 36 }, { 8, 0, 201 }, + { 136, 0, 605 }, { 140, 0, 224 }, { 132, 10, 233 }, { 134, 0, 1430 }, + { 134, 0, 1806 }, { 4, 0, 523 }, { 133, 0, 638 }, { 6, 0, 1889 }, + { 9, 0, 958 }, { 9, 0, 971 }, { 9, 0, 976 }, { 12, 0, 796 }, + { 12, 0, 799 }, { 12, 0, 808 }, { 12, 0, 835 }, { 12, 0, 836 }, + { 12, 0, 914 }, { 12, 0, 946 }, { 15, 0, 216 }, { 15, 0, 232 }, + { 18, 0, 183 }, { 18, 0, 187 }, { 18, 0, 194 }, { 18, 0, 212 }, + { 18, 0, 232 }, { 149, 0, 49 }, { 132, 10, 482 }, { 6, 0, 827 }, + { 134, 0, 1434 }, { 135, 10, 346 }, { 134, 0, 2043 }, { 6, 0, 242 }, + { 7, 0, 227 }, { 7, 0, 1581 }, { 8, 0, 104 }, { 9, 0, 113 }, + { 9, 0, 220 }, { 9, 0, 427 }, { 10, 0, 136 }, { 10, 0, 239 }, + { 11, 0, 579 }, { 11, 0, 1023 }, { 13, 0, 4 }, { 13, 0, 204 }, + { 13, 0, 316 }, { 148, 0, 86 }, { 134, 11, 1685 }, { 7, 0, 148 }, + { 8, 0, 284 }, { 141, 0, 63 }, { 142, 0, 10 }, { 135, 11, 584 }, + { 134, 0, 1249 }, { 7, 0, 861 }, { 135, 10, 334 }, { 5, 10, 795 }, + { 6, 10, 1741 }, { 137, 11, 70 }, { 132, 0, 807 }, { 7, 11, 135 }, + { 8, 11, 7 }, { 8, 11, 62 }, { 9, 11, 243 }, { 10, 11, 658 }, + { 10, 11, 697 }, { 11, 11, 456 }, { 139, 11, 756 }, { 9, 11, 395 }, + { 138, 11, 79 }, { 137, 11, 108 }, { 147, 0, 94 }, { 136, 0, 494 }, + { 135, 11, 631 }, { 135, 10, 622 }, { 7, 0, 1510 }, { 135, 10, 1750 }, + { 4, 10, 203 }, { 135, 10, 1936 }, { 7, 11, 406 }, { 7, 11, 459 }, + { 8, 11, 606 }, { 139, 11, 726 }, { 7, 0, 1306 }, { 8, 0, 505 }, + { 9, 0, 482 }, { 10, 0, 126 }, { 11, 0, 225 }, { 12, 0, 347 }, + { 12, 0, 449 }, { 13, 0, 19 }, { 14, 0, 218 }, { 142, 0, 435 }, + { 5, 0, 268 }, { 10, 0, 764 }, { 12, 0, 120 }, { 13, 0, 39 }, + { 145, 0, 127 }, { 142, 11, 68 }, { 11, 10, 678 }, { 140, 10, 307 }, + { 12, 11, 268 }, { 12, 11, 640 }, { 142, 11, 119 }, { 135, 10, 2044 }, + { 133, 11, 612 }, { 4, 11, 372 }, { 7, 11, 482 }, { 8, 11, 158 }, + { 9, 11, 602 }, { 9, 11, 615 }, { 10, 11, 245 }, { 10, 11, 678 }, + { 10, 11, 744 }, { 11, 11, 248 }, { 139, 11, 806 }, { 7, 10, 311 }, + { 9, 10, 308 }, { 140, 10, 255 }, { 4, 0, 384 }, { 135, 0, 1022 }, + { 5, 11, 854 }, { 135, 11, 1991 }, { 135, 10, 1266 }, { 4, 10, 400 }, + { 5, 10, 267 }, { 135, 10, 232 }, { 135, 0, 1703 }, { 9, 0, 159 }, + { 11, 0, 661 }, { 140, 0, 603 }, { 4, 0, 964 }, { 14, 0, 438 }, + { 14, 0, 444 }, { 14, 0, 456 }, { 22, 0, 60 }, { 22, 0, 63 }, + { 9, 11, 106 }, { 9, 11, 163 }, { 9, 11, 296 }, { 10, 11, 167 }, + { 10, 11, 172 }, { 10, 11, 777 }, { 139, 11, 16 }, { 136, 0, 583 }, + { 132, 0, 515 }, { 8, 0, 632 }, { 8, 0, 697 }, { 137, 0, 854 }, + { 5, 11, 195 }, { 135, 11, 1685 }, { 6, 0, 1123 }, { 134, 0, 1365 }, + { 134, 11, 328 }, { 7, 11, 1997 }, { 8, 11, 730 }, { 139, 11, 1006 }, + { 4, 0, 136 }, { 133, 0, 551 }, { 134, 0, 1782 }, { 7, 0, 1287 }, + { 9, 0, 44 }, { 10, 0, 552 }, { 10, 0, 642 }, { 11, 0, 839 }, + { 12, 0, 274 }, { 12, 0, 275 }, { 12, 0, 372 }, { 13, 0, 91 }, + { 142, 0, 125 }, { 5, 11, 751 }, { 11, 11, 797 }, { 140, 11, 203 }, + { 133, 0, 732 }, { 7, 0, 679 }, { 8, 0, 313 }, { 4, 10, 100 }, + { 135, 11, 821 }, { 10, 0, 361 }, { 142, 0, 316 }, { 134, 0, 595 }, + { 6, 0, 147 }, { 7, 0, 886 }, { 9, 0, 753 }, { 138, 0, 268 }, + { 5, 10, 362 }, { 5, 10, 443 }, { 6, 10, 318 }, { 7, 10, 1019 }, + { 139, 10, 623 }, { 5, 10, 463 }, { 136, 10, 296 }, { 4, 10, 454 }, + { 5, 11, 950 }, { 5, 11, 994 }, { 134, 11, 351 }, { 138, 0, 137 }, + { 5, 10, 48 }, { 5, 10, 404 }, { 6, 10, 557 }, { 7, 10, 458 }, + { 8, 10, 597 }, { 10, 10, 455 }, { 10, 10, 606 }, { 11, 10, 49 }, + { 11, 10, 548 }, { 12, 10, 476 }, { 13, 10, 18 }, { 141, 10, 450 }, + { 133, 0, 414 }, { 135, 0, 1762 }, { 5, 11, 421 }, { 135, 11, 47 }, + { 5, 10, 442 }, { 135, 10, 1984 }, { 134, 0, 599 }, { 134, 0, 1749 }, + { 134, 0, 1627 }, { 4, 0, 488 }, { 132, 11, 350 }, { 137, 11, 751 }, + { 132, 0, 83 }, { 140, 0, 676 }, { 133, 11, 967 }, { 7, 0, 1639 }, + { 5, 10, 55 }, { 140, 10, 161 }, { 4, 11, 473 }, { 7, 11, 623 }, + { 8, 11, 808 }, { 9, 11, 871 }, { 9, 11, 893 }, { 11, 11, 38 }, + { 11, 11, 431 }, { 12, 11, 112 }, { 12, 11, 217 }, { 12, 11, 243 }, + { 12, 11, 562 }, { 12, 11, 683 }, { 13, 11, 141 }, { 13, 11, 197 }, + { 13, 11, 227 }, { 13, 11, 406 }, { 13, 11, 487 }, { 14, 11, 156 }, + { 14, 11, 203 }, { 14, 11, 224 }, { 14, 11, 256 }, { 18, 11, 58 }, + { 150, 11, 0 }, { 133, 10, 450 }, { 7, 11, 736 }, { 139, 11, 264 }, + { 134, 0, 278 }, { 4, 11, 222 }, { 7, 11, 286 }, { 136, 11, 629 }, + { 135, 10, 869 }, { 140, 0, 97 }, { 144, 0, 14 }, { 134, 0, 1085 }, + { 4, 10, 213 }, { 7, 10, 223 }, { 136, 10, 80 }, { 7, 0, 388 }, + { 7, 0, 644 }, { 139, 0, 781 }, { 132, 0, 849 }, { 7, 0, 229 }, + { 8, 0, 59 }, { 9, 0, 190 }, { 10, 0, 378 }, { 140, 0, 191 }, + { 7, 10, 381 }, { 7, 10, 806 }, { 7, 10, 820 }, { 8, 10, 354 }, + { 8, 10, 437 }, { 8, 10, 787 }, { 9, 10, 657 }, { 10, 10, 58 }, + { 10, 10, 339 }, { 10, 10, 749 }, { 11, 10, 914 }, { 12, 10, 162 }, + { 13, 10, 75 }, { 14, 10, 106 }, { 14, 10, 198 }, { 14, 10, 320 }, + { 14, 10, 413 }, { 146, 10, 43 }, { 141, 11, 306 }, { 136, 10, 747 }, + { 134, 0, 1115 }, { 16, 0, 94 }, { 16, 0, 108 }, { 136, 11, 146 }, + { 6, 0, 700 }, { 6, 0, 817 }, { 134, 0, 1002 }, { 133, 10, 692 }, + { 4, 11, 465 }, { 135, 11, 1663 }, { 134, 10, 191 }, { 6, 0, 1414 }, + { 135, 11, 913 }, { 132, 0, 660 }, { 7, 0, 1035 }, { 138, 0, 737 }, + { 6, 10, 162 }, { 7, 10, 1960 }, { 136, 10, 831 }, { 132, 10, 706 }, + { 7, 0, 690 }, { 9, 0, 217 }, { 9, 0, 587 }, { 140, 0, 521 }, + { 138, 10, 426 }, { 135, 10, 1235 }, { 6, 11, 82 }, { 7, 11, 138 }, + { 7, 11, 517 }, { 9, 11, 673 }, { 139, 11, 238 }, { 138, 0, 272 }, + { 5, 11, 495 }, { 7, 11, 834 }, { 9, 11, 733 }, { 139, 11, 378 }, + { 134, 0, 1744 }, { 132, 0, 1011 }, { 7, 11, 828 }, { 142, 11, 116 }, + { 4, 0, 733 }, { 9, 0, 194 }, { 10, 0, 92 }, { 11, 0, 198 }, + { 12, 0, 84 }, { 13, 0, 128 }, { 133, 11, 559 }, { 10, 0, 57 }, + { 10, 0, 277 }, { 6, 11, 21 }, { 6, 11, 1737 }, { 7, 11, 1444 }, + { 136, 11, 224 }, { 4, 10, 204 }, { 137, 10, 902 }, { 136, 10, 833 }, + { 11, 0, 348 }, { 12, 0, 99 }, { 18, 0, 1 }, { 18, 0, 11 }, + { 19, 0, 4 }, { 7, 10, 366 }, { 9, 10, 287 }, { 12, 10, 199 }, + { 12, 10, 556 }, { 140, 10, 577 }, { 6, 0, 1981 }, { 136, 0, 936 }, + { 21, 0, 33 }, { 150, 0, 40 }, { 5, 11, 519 }, { 138, 11, 204 }, + { 5, 10, 356 }, { 135, 10, 224 }, { 134, 0, 775 }, { 135, 0, 306 }, + { 7, 10, 630 }, { 9, 10, 567 }, { 11, 10, 150 }, { 11, 10, 444 }, + { 141, 10, 119 }, { 5, 0, 979 }, { 134, 10, 539 }, { 133, 0, 611 }, + { 4, 11, 402 }, { 135, 11, 1679 }, { 5, 0, 178 }, { 7, 11, 2 }, + { 8, 11, 323 }, { 136, 11, 479 }, { 5, 11, 59 }, { 135, 11, 672 }, + { 4, 0, 1010 }, { 6, 0, 1969 }, { 138, 11, 237 }, { 133, 11, 412 }, + { 146, 11, 34 }, { 7, 11, 1740 }, { 146, 11, 48 }, { 134, 0, 664 }, + { 139, 10, 814 }, { 4, 11, 85 }, { 135, 11, 549 }, { 133, 11, 94 }, + { 133, 11, 457 }, { 132, 0, 390 }, { 134, 0, 1510 }, { 4, 10, 235 }, + { 135, 10, 255 }, { 4, 10, 194 }, { 5, 10, 584 }, { 6, 11, 11 }, + { 6, 10, 384 }, { 7, 11, 187 }, { 7, 10, 583 }, { 10, 10, 761 }, + { 11, 10, 760 }, { 139, 10, 851 }, { 4, 11, 522 }, { 139, 11, 802 }, + { 135, 0, 493 }, { 10, 11, 776 }, { 13, 11, 345 }, { 142, 11, 425 }, + { 146, 0, 37 }, { 4, 11, 52 }, { 135, 11, 661 }, { 134, 0, 724 }, + { 134, 0, 829 }, { 133, 11, 520 }, { 133, 10, 562 }, { 4, 11, 281 }, + { 5, 11, 38 }, { 7, 11, 194 }, { 7, 11, 668 }, { 7, 11, 1893 }, + { 137, 11, 397 }, { 5, 10, 191 }, { 137, 10, 271 }, { 7, 0, 1537 }, + { 14, 0, 96 }, { 143, 0, 73 }, { 5, 0, 473 }, { 11, 0, 168 }, + { 4, 10, 470 }, { 6, 10, 153 }, { 7, 10, 1503 }, { 7, 10, 1923 }, + { 10, 10, 701 }, { 11, 10, 132 }, { 11, 10, 227 }, { 11, 10, 320 }, + { 11, 10, 436 }, { 11, 10, 525 }, { 11, 10, 855 }, { 12, 10, 41 }, + { 12, 10, 286 }, { 13, 10, 103 }, { 13, 10, 284 }, { 14, 10, 255 }, + { 14, 10, 262 }, { 15, 10, 117 }, { 143, 10, 127 }, { 133, 0, 105 }, + { 5, 0, 438 }, { 9, 0, 694 }, { 12, 0, 627 }, { 141, 0, 210 }, + { 133, 10, 327 }, { 6, 10, 552 }, { 7, 10, 1754 }, { 137, 10, 604 }, + { 134, 0, 1256 }, { 152, 0, 11 }, { 5, 11, 448 }, { 11, 11, 98 }, + { 139, 11, 524 }, { 7, 0, 1626 }, { 5, 10, 80 }, { 6, 10, 405 }, + { 7, 10, 403 }, { 7, 10, 1502 }, { 8, 10, 456 }, { 9, 10, 487 }, + { 9, 10, 853 }, { 9, 10, 889 }, { 10, 10, 309 }, { 11, 10, 721 }, + { 11, 10, 994 }, { 12, 10, 430 }, { 13, 10, 165 }, { 14, 11, 16 }, + { 146, 11, 44 }, { 132, 0, 779 }, { 8, 0, 25 }, { 138, 0, 826 }, + { 4, 10, 453 }, { 5, 10, 887 }, { 6, 10, 535 }, { 8, 10, 6 }, + { 8, 10, 543 }, { 136, 10, 826 }, { 137, 11, 461 }, { 140, 11, 632 }, + { 132, 0, 308 }, { 135, 0, 741 }, { 132, 0, 671 }, { 7, 0, 150 }, + { 8, 0, 649 }, { 136, 0, 1020 }, { 9, 0, 99 }, { 6, 11, 336 }, + { 8, 11, 552 }, { 9, 11, 285 }, { 10, 11, 99 }, { 139, 11, 568 }, + { 134, 0, 521 }, { 5, 0, 339 }, { 14, 0, 3 }, { 15, 0, 41 }, + { 15, 0, 166 }, { 147, 0, 66 }, { 6, 11, 423 }, { 7, 11, 665 }, + { 7, 11, 1210 }, { 9, 11, 218 }, { 141, 11, 222 }, { 6, 0, 543 }, + { 5, 10, 101 }, { 5, 11, 256 }, { 6, 10, 88 }, { 7, 10, 1677 }, + { 9, 10, 100 }, { 10, 10, 677 }, { 14, 10, 169 }, { 14, 10, 302 }, + { 14, 10, 313 }, { 15, 10, 48 }, { 143, 10, 84 }, { 4, 10, 310 }, + { 7, 10, 708 }, { 7, 10, 996 }, { 9, 10, 795 }, { 10, 10, 390 }, + { 10, 10, 733 }, { 11, 10, 451 }, { 12, 10, 249 }, { 14, 10, 115 }, + { 14, 10, 286 }, { 143, 10, 100 }, { 133, 10, 587 }, { 13, 11, 417 }, + { 14, 11, 129 }, { 143, 11, 15 }, { 134, 0, 1358 }, { 136, 11, 554 }, + { 132, 10, 498 }, { 7, 10, 217 }, { 8, 10, 140 }, { 138, 10, 610 }, + { 135, 11, 989 }, { 135, 11, 634 }, { 6, 0, 155 }, { 140, 0, 234 }, + { 135, 11, 462 }, { 132, 11, 618 }, { 134, 0, 1628 }, { 132, 0, 766 }, + { 4, 11, 339 }, { 5, 10, 905 }, { 135, 11, 259 }, { 135, 0, 829 }, + { 4, 11, 759 }, { 141, 11, 169 }, { 7, 0, 1445 }, { 4, 10, 456 }, + { 7, 10, 358 }, { 7, 10, 1637 }, { 8, 10, 643 }, { 139, 10, 483 }, + { 5, 0, 486 }, { 135, 0, 1349 }, { 5, 11, 688 }, { 135, 11, 712 }, + { 7, 0, 1635 }, { 8, 0, 17 }, { 10, 0, 217 }, { 10, 0, 295 }, + { 12, 0, 2 }, { 140, 11, 2 }, { 138, 0, 558 }, { 150, 10, 56 }, + { 4, 11, 278 }, { 5, 11, 465 }, { 135, 11, 1367 }, { 136, 11, 482 }, + { 133, 10, 535 }, { 6, 0, 1362 }, { 6, 0, 1461 }, { 10, 11, 274 }, + { 10, 11, 625 }, { 139, 11, 530 }, { 5, 0, 599 }, { 5, 11, 336 }, + { 6, 11, 341 }, { 6, 11, 478 }, { 6, 11, 1763 }, { 136, 11, 386 }, + { 7, 10, 1748 }, { 137, 11, 151 }, { 134, 0, 1376 }, { 133, 10, 539 }, + { 135, 11, 73 }, { 135, 11, 1971 }, { 139, 11, 283 }, { 9, 0, 93 }, + { 139, 0, 474 }, { 6, 10, 91 }, { 135, 10, 435 }, { 6, 0, 447 }, + { 5, 11, 396 }, { 134, 11, 501 }, { 4, 10, 16 }, { 5, 10, 316 }, + { 5, 10, 842 }, { 6, 10, 370 }, { 6, 10, 1778 }, { 8, 10, 166 }, + { 11, 10, 812 }, { 12, 10, 206 }, { 12, 10, 351 }, { 14, 10, 418 }, + { 16, 10, 15 }, { 16, 10, 34 }, { 18, 10, 3 }, { 19, 10, 3 }, + { 19, 10, 7 }, { 20, 10, 4 }, { 149, 10, 21 }, { 7, 0, 577 }, + { 7, 0, 1432 }, { 9, 0, 475 }, { 9, 0, 505 }, { 9, 0, 526 }, + { 9, 0, 609 }, { 9, 0, 689 }, { 9, 0, 726 }, { 9, 0, 735 }, + { 9, 0, 738 }, { 10, 0, 556 }, { 10, 0, 674 }, { 10, 0, 684 }, + { 11, 0, 89 }, { 11, 0, 202 }, { 11, 0, 272 }, { 11, 0, 380 }, + { 11, 0, 415 }, { 11, 0, 505 }, { 11, 0, 537 }, { 11, 0, 550 }, + { 11, 0, 562 }, { 11, 0, 640 }, { 11, 0, 667 }, { 11, 0, 688 }, + { 11, 0, 847 }, { 11, 0, 927 }, { 11, 0, 930 }, { 11, 0, 940 }, + { 12, 0, 144 }, { 12, 0, 325 }, { 12, 0, 329 }, { 12, 0, 389 }, + { 12, 0, 403 }, { 12, 0, 451 }, { 12, 0, 515 }, { 12, 0, 604 }, + { 12, 0, 616 }, { 12, 0, 626 }, { 13, 0, 66 }, { 13, 0, 131 }, + { 13, 0, 167 }, { 13, 0, 236 }, { 13, 0, 368 }, { 13, 0, 411 }, + { 13, 0, 434 }, { 13, 0, 453 }, { 13, 0, 461 }, { 13, 0, 474 }, + { 14, 0, 59 }, { 14, 0, 60 }, { 14, 0, 139 }, { 14, 0, 152 }, + { 14, 0, 276 }, { 14, 0, 353 }, { 14, 0, 402 }, { 15, 0, 28 }, + { 15, 0, 81 }, { 15, 0, 123 }, { 15, 0, 152 }, { 18, 0, 136 }, + { 148, 0, 88 }, { 4, 11, 929 }, { 133, 11, 799 }, { 136, 11, 46 }, + { 142, 0, 307 }, { 4, 0, 609 }, { 7, 0, 756 }, { 9, 0, 544 }, + { 11, 0, 413 }, { 144, 0, 25 }, { 10, 0, 687 }, { 7, 10, 619 }, + { 10, 10, 547 }, { 11, 10, 122 }, { 140, 10, 601 }, { 4, 0, 930 }, + { 133, 0, 947 }, { 133, 0, 939 }, { 142, 0, 21 }, { 4, 11, 892 }, + { 133, 11, 770 }, { 133, 0, 962 }, { 5, 0, 651 }, { 8, 0, 170 }, + { 9, 0, 61 }, { 9, 0, 63 }, { 10, 0, 23 }, { 10, 0, 37 }, + { 10, 0, 834 }, { 11, 0, 4 }, { 11, 0, 187 }, { 11, 0, 281 }, + { 11, 0, 503 }, { 11, 0, 677 }, { 12, 0, 96 }, { 12, 0, 130 }, + { 12, 0, 244 }, { 14, 0, 5 }, { 14, 0, 40 }, { 14, 0, 162 }, + { 14, 0, 202 }, { 146, 0, 133 }, { 4, 0, 406 }, { 5, 0, 579 }, + { 12, 0, 492 }, { 150, 0, 15 }, { 135, 11, 158 }, { 135, 0, 597 }, + { 132, 0, 981 }, { 132, 10, 888 }, { 4, 10, 149 }, { 138, 10, 368 }, + { 132, 0, 545 }, { 4, 10, 154 }, { 7, 10, 1134 }, { 136, 10, 105 }, + { 135, 11, 2001 }, { 134, 0, 1558 }, { 4, 10, 31 }, { 6, 10, 429 }, + { 7, 10, 962 }, { 9, 10, 458 }, { 139, 10, 691 }, { 132, 10, 312 }, + { 135, 10, 1642 }, { 6, 0, 17 }, { 6, 0, 1304 }, { 7, 0, 16 }, + { 7, 0, 1001 }, { 9, 0, 886 }, { 10, 0, 489 }, { 10, 0, 800 }, + { 11, 0, 782 }, { 12, 0, 320 }, { 13, 0, 467 }, { 14, 0, 145 }, + { 14, 0, 387 }, { 143, 0, 119 }, { 135, 0, 1982 }, { 17, 0, 17 }, + { 7, 11, 1461 }, { 140, 11, 91 }, { 4, 10, 236 }, { 132, 11, 602 }, + { 138, 0, 907 }, { 136, 0, 110 }, { 7, 0, 272 }, { 19, 0, 53 }, + { 5, 10, 836 }, { 5, 10, 857 }, { 134, 10, 1680 }, { 5, 0, 458 }, + { 7, 11, 1218 }, { 136, 11, 303 }, { 7, 0, 1983 }, { 8, 0, 0 }, + { 8, 0, 171 }, { 9, 0, 120 }, { 9, 0, 732 }, { 10, 0, 473 }, + { 11, 0, 656 }, { 11, 0, 998 }, { 18, 0, 0 }, { 18, 0, 2 }, + { 19, 0, 21 }, { 10, 10, 68 }, { 139, 10, 494 }, { 137, 11, 662 }, + { 4, 11, 13 }, { 5, 11, 567 }, { 7, 11, 1498 }, { 9, 11, 124 }, + { 11, 11, 521 }, { 140, 11, 405 }, { 4, 10, 81 }, { 139, 10, 867 }, + { 135, 11, 1006 }, { 7, 11, 800 }, { 7, 11, 1783 }, { 138, 11, 12 }, + { 9, 0, 295 }, { 10, 0, 443 }, { 5, 10, 282 }, { 8, 10, 650 }, + { 137, 10, 907 }, { 132, 11, 735 }, { 4, 11, 170 }, { 4, 10, 775 }, + { 135, 11, 323 }, { 6, 0, 1844 }, { 10, 0, 924 }, { 11, 11, 844 }, + { 12, 11, 104 }, { 140, 11, 625 }, { 5, 11, 304 }, { 7, 11, 1403 }, + { 140, 11, 498 }, { 134, 0, 1232 }, { 4, 0, 519 }, { 10, 0, 70 }, + { 12, 0, 26 }, { 14, 0, 17 }, { 14, 0, 178 }, { 15, 0, 34 }, + { 149, 0, 12 }, { 132, 0, 993 }, { 4, 11, 148 }, { 133, 11, 742 }, + { 6, 0, 31 }, { 7, 0, 491 }, { 7, 0, 530 }, { 8, 0, 592 }, + { 11, 0, 53 }, { 11, 0, 779 }, { 12, 0, 167 }, { 12, 0, 411 }, + { 14, 0, 14 }, { 14, 0, 136 }, { 15, 0, 72 }, { 16, 0, 17 }, + { 144, 0, 72 }, { 133, 0, 907 }, { 134, 0, 733 }, { 133, 11, 111 }, + { 4, 10, 71 }, { 5, 10, 376 }, { 7, 10, 119 }, { 138, 10, 665 }, + { 136, 0, 55 }, { 8, 0, 430 }, { 136, 11, 430 }, { 4, 0, 208 }, + { 5, 0, 106 }, { 6, 0, 531 }, { 8, 0, 408 }, { 9, 0, 188 }, + { 138, 0, 572 }, { 12, 0, 56 }, { 11, 10, 827 }, { 14, 10, 34 }, + { 143, 10, 148 }, { 134, 0, 1693 }, { 133, 11, 444 }, { 132, 10, 479 }, + { 140, 0, 441 }, { 9, 0, 449 }, { 10, 0, 192 }, { 138, 0, 740 }, + { 134, 0, 928 }, { 4, 0, 241 }, { 7, 10, 607 }, { 136, 10, 99 }, + { 8, 11, 123 }, { 15, 11, 6 }, { 144, 11, 7 }, { 6, 11, 285 }, + { 8, 11, 654 }, { 11, 11, 749 }, { 12, 11, 190 }, { 12, 11, 327 }, + { 13, 11, 120 }, { 13, 11, 121 }, { 13, 11, 327 }, { 15, 11, 47 }, + { 146, 11, 40 }, { 4, 10, 41 }, { 5, 10, 74 }, { 7, 10, 1627 }, + { 11, 10, 871 }, { 140, 10, 619 }, { 7, 0, 1525 }, { 11, 10, 329 }, + { 11, 10, 965 }, { 12, 10, 241 }, { 14, 10, 354 }, { 15, 10, 22 }, + { 148, 10, 63 }, { 132, 0, 259 }, { 135, 11, 183 }, { 9, 10, 209 }, + { 137, 10, 300 }, { 5, 11, 937 }, { 135, 11, 100 }, { 133, 10, 98 }, + { 4, 0, 173 }, { 5, 0, 312 }, { 5, 0, 512 }, { 135, 0, 1285 }, + { 141, 0, 185 }, { 7, 0, 1603 }, { 7, 0, 1691 }, { 9, 0, 464 }, + { 11, 0, 195 }, { 12, 0, 279 }, { 12, 0, 448 }, { 14, 0, 11 }, + { 147, 0, 102 }, { 135, 0, 1113 }, { 133, 10, 984 }, { 4, 0, 452 }, + { 5, 0, 583 }, { 135, 0, 720 }, { 4, 0, 547 }, { 5, 0, 817 }, + { 6, 0, 433 }, { 7, 0, 593 }, { 7, 0, 1378 }, { 8, 0, 161 }, + { 9, 0, 284 }, { 10, 0, 313 }, { 139, 0, 886 }, { 8, 0, 722 }, + { 4, 10, 182 }, { 6, 10, 205 }, { 135, 10, 220 }, { 150, 0, 13 }, + { 4, 10, 42 }, { 9, 10, 205 }, { 9, 10, 786 }, { 138, 10, 659 }, + { 6, 0, 289 }, { 7, 0, 1670 }, { 12, 0, 57 }, { 151, 0, 4 }, + { 132, 10, 635 }, { 14, 0, 43 }, { 146, 0, 21 }, { 139, 10, 533 }, + { 135, 0, 1694 }, { 8, 0, 420 }, { 139, 0, 193 }, { 135, 0, 409 }, + { 132, 10, 371 }, { 4, 10, 272 }, { 135, 10, 836 }, { 5, 10, 825 }, + { 134, 10, 1640 }, { 5, 11, 251 }, { 5, 11, 956 }, { 8, 11, 268 }, + { 9, 11, 214 }, { 146, 11, 142 }, { 138, 0, 308 }, { 6, 0, 1863 }, + { 141, 11, 37 }, { 137, 10, 879 }, { 7, 10, 317 }, { 135, 10, 569 }, + { 132, 11, 294 }, { 134, 0, 790 }, { 5, 0, 1002 }, { 136, 0, 745 }, + { 5, 11, 346 }, { 5, 11, 711 }, { 136, 11, 390 }, { 135, 0, 289 }, + { 5, 0, 504 }, { 11, 0, 68 }, { 137, 10, 307 }, { 4, 0, 239 }, + { 6, 0, 477 }, { 7, 0, 1607 }, { 139, 0, 617 }, { 149, 0, 13 }, + { 133, 0, 609 }, { 133, 11, 624 }, { 5, 11, 783 }, { 7, 11, 1998 }, + { 135, 11, 2047 }, { 133, 10, 525 }, { 132, 0, 367 }, { 132, 11, 594 }, + { 6, 0, 528 }, { 133, 10, 493 }, { 4, 10, 174 }, { 135, 10, 911 }, + { 8, 10, 417 }, { 137, 10, 782 }, { 132, 0, 694 }, { 7, 0, 548 }, + { 137, 0, 58 }, { 4, 10, 32 }, { 5, 10, 215 }, { 6, 10, 269 }, + { 7, 10, 1782 }, { 7, 10, 1892 }, { 10, 10, 16 }, { 11, 10, 822 }, + { 11, 10, 954 }, { 141, 10, 481 }, { 140, 0, 687 }, { 7, 0, 1749 }, + { 136, 10, 477 }, { 132, 11, 569 }, { 133, 10, 308 }, { 135, 10, 1088 }, + { 4, 0, 661 }, { 138, 0, 1004 }, { 5, 11, 37 }, { 6, 11, 39 }, + { 6, 11, 451 }, { 7, 11, 218 }, { 7, 11, 667 }, { 7, 11, 1166 }, + { 7, 11, 1687 }, { 8, 11, 662 }, { 144, 11, 2 }, { 9, 0, 445 }, + { 12, 0, 53 }, { 13, 0, 492 }, { 5, 10, 126 }, { 8, 10, 297 }, + { 9, 10, 366 }, { 140, 10, 374 }, { 7, 10, 1551 }, { 139, 10, 361 }, + { 148, 0, 74 }, { 134, 11, 508 }, { 135, 0, 213 }, { 132, 10, 175 }, + { 132, 10, 685 }, { 6, 0, 760 }, { 6, 0, 834 }, { 134, 0, 1248 }, + { 7, 11, 453 }, { 7, 11, 635 }, { 7, 11, 796 }, { 8, 11, 331 }, + { 9, 11, 328 }, { 9, 11, 330 }, { 9, 11, 865 }, { 10, 11, 119 }, + { 10, 11, 235 }, { 11, 11, 111 }, { 11, 11, 129 }, { 11, 11, 240 }, + { 12, 11, 31 }, { 12, 11, 66 }, { 12, 11, 222 }, { 12, 11, 269 }, + { 12, 11, 599 }, { 12, 11, 689 }, { 13, 11, 186 }, { 13, 11, 364 }, + { 142, 11, 345 }, { 7, 0, 1672 }, { 139, 0, 189 }, { 133, 10, 797 }, + { 133, 10, 565 }, { 6, 0, 1548 }, { 6, 11, 98 }, { 7, 11, 585 }, + { 135, 11, 702 }, { 9, 0, 968 }, { 15, 0, 192 }, { 149, 0, 56 }, + { 4, 10, 252 }, { 6, 11, 37 }, { 7, 11, 299 }, { 7, 10, 1068 }, + { 7, 11, 1666 }, { 8, 11, 195 }, { 8, 11, 316 }, { 9, 11, 178 }, + { 9, 11, 276 }, { 9, 11, 339 }, { 9, 11, 536 }, { 10, 11, 102 }, + { 10, 11, 362 }, { 10, 10, 434 }, { 10, 11, 785 }, { 11, 11, 55 }, + { 11, 11, 149 }, { 11, 10, 228 }, { 11, 10, 426 }, { 11, 11, 773 }, + { 13, 10, 231 }, { 13, 11, 416 }, { 13, 11, 419 }, { 14, 11, 38 }, + { 14, 11, 41 }, { 14, 11, 210 }, { 18, 10, 106 }, { 148, 10, 87 }, + { 4, 0, 751 }, { 11, 0, 390 }, { 140, 0, 32 }, { 4, 0, 409 }, + { 133, 0, 78 }, { 11, 11, 458 }, { 12, 11, 15 }, { 140, 11, 432 }, + { 7, 0, 1602 }, { 10, 0, 257 }, { 10, 0, 698 }, { 11, 0, 544 }, + { 11, 0, 585 }, { 12, 0, 212 }, { 13, 0, 307 }, { 5, 10, 231 }, + { 7, 10, 601 }, { 9, 10, 277 }, { 9, 10, 674 }, { 10, 10, 178 }, + { 10, 10, 418 }, { 10, 10, 509 }, { 11, 10, 531 }, { 12, 10, 113 }, + { 12, 10, 475 }, { 13, 10, 99 }, { 142, 10, 428 }, { 6, 0, 473 }, + { 145, 0, 105 }, { 6, 0, 1949 }, { 15, 0, 156 }, { 133, 11, 645 }, + { 7, 10, 1591 }, { 144, 10, 43 }, { 135, 0, 1779 }, { 135, 10, 1683 }, + { 4, 11, 290 }, { 135, 11, 1356 }, { 134, 0, 763 }, { 6, 11, 70 }, + { 7, 11, 1292 }, { 10, 11, 762 }, { 139, 11, 288 }, { 142, 0, 29 }, + { 140, 11, 428 }, { 7, 0, 883 }, { 7, 11, 131 }, { 7, 11, 422 }, + { 8, 11, 210 }, { 140, 11, 573 }, { 134, 0, 488 }, { 4, 10, 399 }, + { 5, 10, 119 }, { 5, 10, 494 }, { 7, 10, 751 }, { 137, 10, 556 }, + { 133, 0, 617 }, { 132, 11, 936 }, { 139, 0, 50 }, { 7, 0, 1518 }, + { 139, 0, 694 }, { 137, 0, 785 }, { 4, 0, 546 }, { 135, 0, 2042 }, + { 7, 11, 716 }, { 13, 11, 97 }, { 141, 11, 251 }, { 132, 11, 653 }, + { 145, 0, 22 }, { 134, 0, 1016 }, { 4, 0, 313 }, { 133, 0, 577 }, + { 136, 11, 657 }, { 8, 0, 184 }, { 141, 0, 433 }, { 135, 0, 935 }, + { 6, 0, 720 }, { 9, 0, 114 }, { 146, 11, 80 }, { 12, 0, 186 }, + { 12, 0, 292 }, { 14, 0, 100 }, { 18, 0, 70 }, { 7, 10, 594 }, + { 7, 10, 851 }, { 7, 10, 1858 }, { 9, 10, 411 }, { 9, 10, 574 }, + { 9, 10, 666 }, { 9, 10, 737 }, { 10, 10, 346 }, { 10, 10, 712 }, + { 11, 10, 246 }, { 11, 10, 432 }, { 11, 10, 517 }, { 11, 10, 647 }, + { 11, 10, 679 }, { 11, 10, 727 }, { 12, 10, 304 }, { 12, 10, 305 }, + { 12, 10, 323 }, { 12, 10, 483 }, { 12, 10, 572 }, { 12, 10, 593 }, + { 12, 10, 602 }, { 13, 10, 95 }, { 13, 10, 101 }, { 13, 10, 171 }, + { 13, 10, 315 }, { 13, 10, 378 }, { 13, 10, 425 }, { 13, 10, 475 }, + { 14, 10, 63 }, { 14, 10, 380 }, { 14, 10, 384 }, { 15, 10, 133 }, + { 18, 10, 112 }, { 148, 10, 72 }, { 135, 10, 1093 }, { 135, 11, 1836 }, + { 132, 10, 679 }, { 137, 10, 203 }, { 11, 0, 402 }, { 12, 0, 109 }, + { 12, 0, 431 }, { 13, 0, 179 }, { 13, 0, 206 }, { 14, 0, 217 }, + { 16, 0, 3 }, { 148, 0, 53 }, { 7, 11, 1368 }, { 8, 11, 232 }, + { 8, 11, 361 }, { 10, 11, 682 }, { 138, 11, 742 }, { 137, 10, 714 }, + { 5, 0, 886 }, { 6, 0, 46 }, { 6, 0, 1790 }, { 7, 0, 14 }, + { 7, 0, 732 }, { 7, 0, 1654 }, { 8, 0, 95 }, { 8, 0, 327 }, + { 8, 0, 616 }, { 9, 0, 892 }, { 10, 0, 598 }, { 10, 0, 769 }, + { 11, 0, 134 }, { 11, 0, 747 }, { 12, 0, 378 }, { 14, 0, 97 }, + { 137, 11, 534 }, { 4, 0, 969 }, { 136, 10, 825 }, { 137, 11, 27 }, + { 6, 0, 727 }, { 142, 11, 12 }, { 133, 0, 1021 }, { 134, 0, 1190 }, + { 134, 11, 1657 }, { 5, 10, 143 }, { 5, 10, 769 }, { 6, 10, 1760 }, + { 7, 10, 682 }, { 7, 10, 1992 }, { 136, 10, 736 }, { 132, 0, 153 }, + { 135, 11, 127 }, { 133, 0, 798 }, { 132, 0, 587 }, { 6, 0, 598 }, + { 7, 0, 42 }, { 8, 0, 695 }, { 10, 0, 212 }, { 11, 0, 158 }, + { 14, 0, 196 }, { 145, 0, 85 }, { 133, 10, 860 }, { 6, 0, 1929 }, + { 134, 0, 1933 }, { 5, 0, 957 }, { 5, 0, 1008 }, { 9, 0, 577 }, + { 12, 0, 141 }, { 6, 10, 422 }, { 7, 10, 0 }, { 7, 10, 1544 }, + { 8, 11, 364 }, { 11, 10, 990 }, { 12, 10, 453 }, { 13, 10, 47 }, + { 141, 10, 266 }, { 134, 0, 1319 }, { 4, 0, 129 }, { 135, 0, 465 }, + { 7, 0, 470 }, { 7, 0, 1057 }, { 7, 0, 1201 }, { 9, 0, 755 }, + { 11, 0, 906 }, { 140, 0, 527 }, { 7, 0, 908 }, { 146, 0, 7 }, + { 5, 0, 148 }, { 136, 0, 450 }, { 5, 10, 515 }, { 137, 10, 131 }, + { 7, 10, 1605 }, { 11, 10, 962 }, { 146, 10, 139 }, { 132, 10, 646 }, + { 134, 0, 1166 }, { 4, 10, 396 }, { 7, 10, 728 }, { 9, 10, 117 }, + { 13, 10, 202 }, { 148, 10, 51 }, { 6, 10, 121 }, { 6, 10, 124 }, + { 6, 10, 357 }, { 7, 10, 1138 }, { 7, 10, 1295 }, { 8, 10, 162 }, + { 139, 10, 655 }, { 14, 0, 374 }, { 142, 11, 374 }, { 138, 0, 253 }, + { 139, 0, 1003 }, { 5, 11, 909 }, { 9, 11, 849 }, { 138, 11, 805 }, + { 133, 10, 237 }, { 7, 11, 525 }, { 7, 11, 1579 }, { 8, 11, 497 }, + { 136, 11, 573 }, { 137, 0, 46 }, { 132, 0, 879 }, { 134, 0, 806 }, + { 135, 0, 1868 }, { 6, 0, 1837 }, { 134, 0, 1846 }, { 6, 0, 730 }, + { 134, 0, 881 }, { 7, 0, 965 }, { 7, 0, 1460 }, { 7, 0, 1604 }, + { 7, 11, 193 }, { 7, 11, 397 }, { 7, 11, 1105 }, { 8, 11, 124 }, + { 8, 11, 619 }, { 9, 11, 305 }, { 10, 11, 264 }, { 11, 11, 40 }, + { 12, 11, 349 }, { 13, 11, 134 }, { 13, 11, 295 }, { 14, 11, 155 }, + { 15, 11, 120 }, { 146, 11, 105 }, { 136, 0, 506 }, { 143, 0, 10 }, + { 4, 11, 262 }, { 7, 11, 342 }, { 7, 10, 571 }, { 7, 10, 1877 }, + { 10, 10, 366 }, { 141, 11, 23 }, { 133, 11, 641 }, { 10, 0, 22 }, + { 9, 10, 513 }, { 10, 10, 39 }, { 12, 10, 122 }, { 140, 10, 187 }, + { 135, 11, 1431 }, { 150, 11, 49 }, { 4, 11, 99 }, { 6, 11, 250 }, + { 6, 11, 346 }, { 8, 11, 127 }, { 138, 11, 81 }, { 6, 0, 2014 }, + { 8, 0, 928 }, { 10, 0, 960 }, { 10, 0, 979 }, { 140, 0, 996 }, + { 134, 0, 296 }, { 132, 11, 915 }, { 5, 11, 75 }, { 9, 11, 517 }, + { 10, 11, 470 }, { 12, 11, 155 }, { 141, 11, 224 }, { 137, 10, 873 }, + { 4, 0, 854 }, { 140, 11, 18 }, { 134, 0, 587 }, { 7, 10, 107 }, + { 7, 10, 838 }, { 8, 10, 550 }, { 138, 10, 401 }, { 11, 0, 636 }, + { 15, 0, 145 }, { 17, 0, 34 }, { 19, 0, 50 }, { 23, 0, 20 }, + { 11, 10, 588 }, { 11, 10, 864 }, { 11, 10, 968 }, { 143, 10, 160 }, + { 135, 11, 216 }, { 7, 0, 982 }, { 10, 0, 32 }, { 143, 0, 56 }, + { 133, 10, 768 }, { 133, 11, 954 }, { 6, 11, 304 }, { 7, 11, 1114 }, + { 8, 11, 418 }, { 10, 11, 345 }, { 11, 11, 341 }, { 11, 11, 675 }, + { 141, 11, 40 }, { 9, 11, 410 }, { 139, 11, 425 }, { 136, 0, 941 }, + { 5, 0, 435 }, { 132, 10, 894 }, { 5, 0, 85 }, { 6, 0, 419 }, + { 7, 0, 134 }, { 7, 0, 305 }, { 7, 0, 361 }, { 7, 0, 1337 }, + { 8, 0, 71 }, { 140, 0, 519 }, { 140, 0, 688 }, { 135, 0, 740 }, + { 5, 0, 691 }, { 7, 0, 345 }, { 9, 0, 94 }, { 140, 0, 169 }, + { 5, 0, 183 }, { 6, 0, 582 }, { 10, 0, 679 }, { 140, 0, 435 }, + { 134, 11, 14 }, { 6, 0, 945 }, { 135, 0, 511 }, { 134, 11, 1708 }, + { 5, 11, 113 }, { 6, 11, 243 }, { 7, 11, 1865 }, { 11, 11, 161 }, + { 16, 11, 37 }, { 145, 11, 99 }, { 132, 11, 274 }, { 137, 0, 539 }, + { 7, 0, 1993 }, { 8, 0, 684 }, { 134, 10, 272 }, { 6, 0, 659 }, + { 134, 0, 982 }, { 4, 10, 9 }, { 5, 10, 128 }, { 7, 10, 368 }, + { 11, 10, 480 }, { 148, 10, 3 }, { 134, 0, 583 }, { 132, 0, 803 }, + { 133, 0, 704 }, { 4, 0, 179 }, { 5, 0, 198 }, { 133, 0, 697 }, + { 7, 0, 347 }, { 7, 0, 971 }, { 8, 0, 181 }, { 10, 0, 711 }, + { 135, 11, 166 }, { 136, 10, 682 }, { 4, 10, 2 }, { 7, 10, 545 }, + { 7, 10, 894 }, { 136, 11, 521 }, { 135, 0, 481 }, { 132, 0, 243 }, + { 5, 0, 203 }, { 7, 0, 19 }, { 7, 0, 71 }, { 7, 0, 113 }, + { 10, 0, 405 }, { 11, 0, 357 }, { 142, 0, 240 }, { 5, 11, 725 }, + { 5, 11, 727 }, { 135, 11, 1811 }, { 6, 0, 826 }, { 137, 11, 304 }, + { 7, 0, 1450 }, { 139, 0, 99 }, { 133, 11, 654 }, { 134, 0, 492 }, + { 5, 0, 134 }, { 6, 0, 408 }, { 6, 0, 495 }, { 7, 0, 1593 }, + { 6, 11, 273 }, { 10, 11, 188 }, { 13, 11, 377 }, { 146, 11, 77 }, + { 9, 10, 769 }, { 140, 10, 185 }, { 135, 11, 410 }, { 142, 0, 4 }, + { 4, 0, 665 }, { 134, 11, 1785 }, { 4, 0, 248 }, { 7, 0, 137 }, + { 137, 0, 349 }, { 5, 10, 530 }, { 142, 10, 113 }, { 7, 0, 1270 }, + { 139, 0, 612 }, { 132, 11, 780 }, { 5, 0, 371 }, { 135, 0, 563 }, + { 135, 0, 826 }, { 6, 0, 1535 }, { 23, 0, 21 }, { 151, 0, 23 }, + { 4, 0, 374 }, { 7, 0, 547 }, { 7, 0, 1700 }, { 7, 0, 1833 }, + { 139, 0, 858 }, { 133, 10, 556 }, { 7, 11, 612 }, { 8, 11, 545 }, + { 8, 11, 568 }, { 8, 11, 642 }, { 9, 11, 717 }, { 10, 11, 541 }, + { 10, 11, 763 }, { 11, 11, 449 }, { 12, 11, 489 }, { 13, 11, 153 }, + { 13, 11, 296 }, { 14, 11, 138 }, { 14, 11, 392 }, { 15, 11, 50 }, + { 16, 11, 6 }, { 16, 11, 12 }, { 148, 11, 9 }, { 9, 0, 311 }, + { 141, 0, 42 }, { 8, 10, 16 }, { 140, 10, 568 }, { 6, 0, 1968 }, + { 6, 0, 2027 }, { 138, 0, 991 }, { 6, 0, 1647 }, { 7, 0, 1552 }, + { 7, 0, 2010 }, { 9, 0, 494 }, { 137, 0, 509 }, { 133, 11, 948 }, + { 6, 10, 186 }, { 137, 10, 426 }, { 134, 0, 769 }, { 134, 0, 642 }, + { 132, 10, 585 }, { 6, 0, 123 }, { 7, 0, 214 }, { 9, 0, 728 }, + { 10, 0, 157 }, { 11, 0, 346 }, { 11, 0, 662 }, { 143, 0, 106 }, + { 142, 11, 381 }, { 135, 0, 1435 }, { 4, 11, 532 }, { 5, 11, 706 }, + { 135, 11, 662 }, { 5, 11, 837 }, { 134, 11, 1651 }, { 4, 10, 93 }, + { 5, 10, 252 }, { 6, 10, 229 }, { 7, 10, 291 }, { 9, 10, 550 }, + { 139, 10, 644 }, { 148, 0, 79 }, { 137, 10, 749 }, { 134, 0, 1425 }, + { 137, 10, 162 }, { 4, 11, 362 }, { 7, 11, 52 }, { 7, 11, 303 }, + { 140, 11, 166 }, { 132, 10, 381 }, { 4, 11, 330 }, { 7, 11, 933 }, + { 7, 11, 2012 }, { 136, 11, 292 }, { 135, 11, 767 }, { 4, 0, 707 }, + { 5, 0, 588 }, { 6, 0, 393 }, { 13, 0, 106 }, { 18, 0, 49 }, + { 147, 0, 41 }, { 6, 0, 211 }, { 7, 0, 1690 }, { 11, 0, 486 }, + { 140, 0, 369 }, { 137, 11, 883 }, { 4, 11, 703 }, { 135, 11, 207 }, + { 4, 0, 187 }, { 5, 0, 184 }, { 5, 0, 690 }, { 7, 0, 1869 }, + { 10, 0, 756 }, { 139, 0, 783 }, { 132, 11, 571 }, { 134, 0, 1382 }, + { 5, 0, 175 }, { 6, 10, 77 }, { 6, 10, 157 }, { 7, 10, 974 }, + { 7, 10, 1301 }, { 7, 10, 1339 }, { 7, 10, 1490 }, { 7, 10, 1873 }, + { 137, 10, 628 }, { 134, 0, 1493 }, { 5, 11, 873 }, { 133, 11, 960 }, + { 134, 0, 1007 }, { 12, 11, 93 }, { 12, 11, 501 }, { 13, 11, 362 }, + { 14, 11, 151 }, { 15, 11, 40 }, { 15, 11, 59 }, { 16, 11, 46 }, + { 17, 11, 25 }, { 18, 11, 14 }, { 18, 11, 134 }, { 19, 11, 25 }, + { 19, 11, 69 }, { 20, 11, 16 }, { 20, 11, 19 }, { 20, 11, 66 }, + { 21, 11, 23 }, { 21, 11, 25 }, { 150, 11, 42 }, { 11, 10, 919 }, + { 141, 10, 409 }, { 134, 0, 219 }, { 5, 0, 582 }, { 6, 0, 1646 }, + { 7, 0, 99 }, { 7, 0, 1962 }, { 7, 0, 1986 }, { 8, 0, 515 }, + { 8, 0, 773 }, { 9, 0, 23 }, { 9, 0, 491 }, { 12, 0, 620 }, + { 142, 0, 93 }, { 133, 0, 851 }, { 5, 11, 33 }, { 134, 11, 470 }, + { 135, 11, 1291 }, { 134, 0, 1278 }, { 135, 11, 1882 }, { 135, 10, 1489 }, + { 132, 0, 1000 }, { 138, 0, 982 }, { 8, 0, 762 }, { 8, 0, 812 }, + { 137, 0, 910 }, { 6, 11, 47 }, { 7, 11, 90 }, { 7, 11, 664 }, + { 7, 11, 830 }, { 7, 11, 1380 }, { 7, 11, 2025 }, { 8, 11, 448 }, + { 136, 11, 828 }, { 4, 0, 98 }, { 4, 0, 940 }, { 6, 0, 1819 }, + { 6, 0, 1834 }, { 6, 0, 1841 }, { 7, 0, 1365 }, { 8, 0, 859 }, + { 8, 0, 897 }, { 8, 0, 918 }, { 9, 0, 422 }, { 9, 0, 670 }, + { 10, 0, 775 }, { 10, 0, 894 }, { 10, 0, 909 }, { 10, 0, 910 }, + { 10, 0, 935 }, { 11, 0, 210 }, { 12, 0, 750 }, { 12, 0, 755 }, + { 13, 0, 26 }, { 13, 0, 457 }, { 13, 0, 476 }, { 16, 0, 100 }, + { 16, 0, 109 }, { 18, 0, 173 }, { 18, 0, 175 }, { 8, 10, 398 }, + { 9, 10, 681 }, { 139, 10, 632 }, { 9, 11, 417 }, { 137, 11, 493 }, + { 136, 10, 645 }, { 138, 0, 906 }, { 134, 0, 1730 }, { 134, 10, 20 }, + { 133, 11, 1019 }, { 134, 0, 1185 }, { 10, 0, 40 }, { 136, 10, 769 }, + { 9, 0, 147 }, { 134, 11, 208 }, { 140, 0, 650 }, { 5, 0, 209 }, + { 6, 0, 30 }, { 11, 0, 56 }, { 139, 0, 305 }, { 132, 0, 553 }, + { 138, 11, 344 }, { 6, 11, 68 }, { 7, 11, 398 }, { 7, 11, 448 }, + { 7, 11, 1629 }, { 7, 11, 1813 }, { 8, 11, 387 }, { 8, 11, 442 }, + { 9, 11, 710 }, { 10, 11, 282 }, { 138, 11, 722 }, { 5, 0, 597 }, + { 14, 0, 20 }, { 142, 11, 20 }, { 135, 0, 1614 }, { 135, 10, 1757 }, + { 4, 0, 150 }, { 5, 0, 303 }, { 6, 0, 327 }, { 135, 10, 937 }, + { 16, 0, 49 }, { 7, 10, 1652 }, { 144, 11, 49 }, { 8, 0, 192 }, + { 10, 0, 78 }, { 141, 0, 359 }, { 135, 0, 786 }, { 143, 0, 134 }, + { 6, 0, 1638 }, { 7, 0, 79 }, { 7, 0, 496 }, { 9, 0, 138 }, + { 10, 0, 336 }, { 11, 0, 12 }, { 12, 0, 412 }, { 12, 0, 440 }, + { 142, 0, 305 }, { 136, 11, 491 }, { 4, 10, 579 }, { 5, 10, 226 }, + { 5, 10, 323 }, { 135, 10, 960 }, { 7, 0, 204 }, { 7, 0, 415 }, + { 8, 0, 42 }, { 10, 0, 85 }, { 139, 0, 564 }, { 132, 0, 614 }, + { 4, 11, 403 }, { 5, 11, 441 }, { 7, 11, 450 }, { 11, 11, 101 }, + { 12, 11, 193 }, { 141, 11, 430 }, { 135, 11, 1927 }, { 135, 11, 1330 }, + { 4, 0, 3 }, { 5, 0, 247 }, { 5, 0, 644 }, { 7, 0, 744 }, + { 7, 0, 1207 }, { 7, 0, 1225 }, { 7, 0, 1909 }, { 146, 0, 147 }, + { 136, 0, 942 }, { 4, 0, 1019 }, { 134, 0, 2023 }, { 5, 11, 679 }, + { 133, 10, 973 }, { 5, 0, 285 }, { 9, 0, 67 }, { 13, 0, 473 }, + { 143, 0, 82 }, { 7, 11, 328 }, { 137, 11, 326 }, { 151, 0, 8 }, + { 6, 10, 135 }, { 135, 10, 1176 }, { 135, 11, 1128 }, { 134, 0, 1309 }, + { 135, 11, 1796 }, { 135, 10, 314 }, { 4, 11, 574 }, { 7, 11, 350 }, + { 7, 11, 1024 }, { 8, 11, 338 }, { 9, 11, 677 }, { 10, 11, 808 }, + { 139, 11, 508 }, { 7, 11, 818 }, { 17, 11, 14 }, { 17, 11, 45 }, + { 18, 11, 75 }, { 148, 11, 18 }, { 146, 10, 4 }, { 135, 11, 1081 }, + { 4, 0, 29 }, { 6, 0, 532 }, { 7, 0, 1628 }, { 7, 0, 1648 }, + { 9, 0, 350 }, { 10, 0, 433 }, { 11, 0, 97 }, { 11, 0, 557 }, + { 11, 0, 745 }, { 12, 0, 289 }, { 12, 0, 335 }, { 12, 0, 348 }, + { 12, 0, 606 }, { 13, 0, 116 }, { 13, 0, 233 }, { 13, 0, 466 }, + { 14, 0, 181 }, { 14, 0, 209 }, { 14, 0, 232 }, { 14, 0, 236 }, + { 14, 0, 300 }, { 16, 0, 41 }, { 148, 0, 97 }, { 7, 0, 318 }, + { 6, 10, 281 }, { 8, 10, 282 }, { 8, 10, 480 }, { 8, 10, 499 }, + { 9, 10, 198 }, { 10, 10, 143 }, { 10, 10, 169 }, { 10, 10, 211 }, + { 10, 10, 417 }, { 10, 10, 574 }, { 11, 10, 147 }, { 11, 10, 395 }, + { 12, 10, 75 }, { 12, 10, 407 }, { 12, 10, 608 }, { 13, 10, 500 }, + { 142, 10, 251 }, { 135, 11, 1676 }, { 135, 11, 2037 }, { 135, 0, 1692 }, + { 5, 0, 501 }, { 7, 0, 1704 }, { 9, 0, 553 }, { 11, 0, 520 }, + { 12, 0, 557 }, { 141, 0, 249 }, { 6, 0, 1527 }, { 14, 0, 324 }, + { 15, 0, 55 }, { 15, 0, 80 }, { 14, 11, 324 }, { 15, 11, 55 }, + { 143, 11, 80 }, { 135, 10, 1776 }, { 8, 0, 988 }, { 137, 11, 297 }, + { 132, 10, 419 }, { 142, 0, 223 }, { 139, 11, 234 }, { 7, 0, 1123 }, + { 12, 0, 508 }, { 14, 0, 102 }, { 14, 0, 226 }, { 144, 0, 57 }, + { 4, 10, 138 }, { 7, 10, 1012 }, { 7, 10, 1280 }, { 137, 10, 76 }, + { 7, 0, 1764 }, { 5, 10, 29 }, { 140, 10, 638 }, { 134, 0, 2015 }, + { 134, 0, 1599 }, { 138, 11, 56 }, { 6, 11, 306 }, { 7, 11, 1140 }, + { 7, 11, 1340 }, { 8, 11, 133 }, { 138, 11, 449 }, { 139, 11, 1011 }, + { 6, 10, 1710 }, { 135, 10, 2038 }, { 7, 11, 1763 }, { 140, 11, 310 }, + { 6, 0, 129 }, { 4, 10, 17 }, { 5, 10, 23 }, { 7, 10, 995 }, + { 11, 10, 383 }, { 11, 10, 437 }, { 12, 10, 460 }, { 140, 10, 532 }, + { 5, 11, 329 }, { 136, 11, 260 }, { 133, 10, 862 }, { 132, 0, 534 }, + { 6, 0, 811 }, { 135, 0, 626 }, { 132, 11, 657 }, { 4, 0, 25 }, + { 5, 0, 60 }, { 6, 0, 504 }, { 7, 0, 614 }, { 7, 0, 1155 }, + { 12, 0, 0 }, { 152, 11, 7 }, { 7, 0, 1248 }, { 11, 0, 621 }, + { 139, 0, 702 }, { 137, 0, 321 }, { 8, 10, 70 }, { 12, 10, 171 }, + { 141, 10, 272 }, { 10, 10, 233 }, { 139, 10, 76 }, { 4, 0, 379 }, + { 7, 0, 1397 }, { 134, 10, 442 }, { 5, 11, 66 }, { 7, 11, 1896 }, + { 136, 11, 288 }, { 134, 11, 1643 }, { 134, 10, 1709 }, { 4, 11, 21 }, + { 5, 11, 91 }, { 5, 11, 570 }, { 5, 11, 648 }, { 5, 11, 750 }, + { 5, 11, 781 }, { 6, 11, 54 }, { 6, 11, 112 }, { 6, 11, 402 }, + { 6, 11, 1732 }, { 7, 11, 315 }, { 7, 11, 749 }, { 7, 11, 1347 }, + { 7, 11, 1900 }, { 9, 11, 78 }, { 9, 11, 508 }, { 10, 11, 611 }, + { 11, 11, 510 }, { 11, 11, 728 }, { 13, 11, 36 }, { 14, 11, 39 }, + { 16, 11, 83 }, { 17, 11, 124 }, { 148, 11, 30 }, { 4, 0, 118 }, + { 6, 0, 274 }, { 6, 0, 361 }, { 7, 0, 75 }, { 141, 0, 441 }, + { 10, 11, 322 }, { 10, 11, 719 }, { 139, 11, 407 }, { 147, 10, 119 }, + { 12, 11, 549 }, { 14, 11, 67 }, { 147, 11, 60 }, { 11, 10, 69 }, + { 12, 10, 105 }, { 12, 10, 117 }, { 13, 10, 213 }, { 14, 10, 13 }, + { 14, 10, 62 }, { 14, 10, 177 }, { 14, 10, 421 }, { 15, 10, 19 }, + { 146, 10, 141 }, { 9, 0, 841 }, { 137, 10, 309 }, { 7, 10, 608 }, + { 7, 10, 976 }, { 8, 11, 125 }, { 8, 11, 369 }, { 8, 11, 524 }, + { 9, 10, 146 }, { 10, 10, 206 }, { 10, 11, 486 }, { 10, 10, 596 }, + { 11, 11, 13 }, { 11, 11, 381 }, { 11, 11, 736 }, { 11, 11, 766 }, + { 11, 11, 845 }, { 13, 11, 114 }, { 13, 10, 218 }, { 13, 11, 292 }, + { 14, 11, 47 }, { 142, 10, 153 }, { 12, 0, 693 }, { 135, 11, 759 }, + { 5, 0, 314 }, { 6, 0, 221 }, { 7, 0, 419 }, { 10, 0, 650 }, + { 11, 0, 396 }, { 12, 0, 156 }, { 13, 0, 369 }, { 14, 0, 333 }, + { 145, 0, 47 }, { 6, 11, 1684 }, { 6, 11, 1731 }, { 7, 11, 356 }, + { 7, 11, 1932 }, { 8, 11, 54 }, { 8, 11, 221 }, { 9, 11, 225 }, + { 9, 11, 356 }, { 10, 11, 77 }, { 10, 11, 446 }, { 10, 11, 731 }, + { 12, 11, 404 }, { 141, 11, 491 }, { 132, 11, 375 }, { 4, 10, 518 }, + { 135, 10, 1136 }, { 4, 0, 913 }, { 4, 11, 411 }, { 11, 11, 643 }, + { 140, 11, 115 }, { 4, 11, 80 }, { 133, 11, 44 }, { 8, 10, 689 }, + { 137, 10, 863 }, { 138, 0, 880 }, { 4, 10, 18 }, { 7, 10, 145 }, + { 7, 10, 444 }, { 7, 10, 1278 }, { 8, 10, 49 }, { 8, 10, 400 }, + { 9, 10, 71 }, { 9, 10, 250 }, { 10, 10, 459 }, { 12, 10, 160 }, + { 144, 10, 24 }, { 136, 0, 475 }, { 5, 0, 1016 }, { 5, 11, 299 }, + { 135, 11, 1083 }, { 7, 0, 602 }, { 8, 0, 179 }, { 10, 0, 781 }, + { 140, 0, 126 }, { 6, 0, 329 }, { 138, 0, 111 }, { 135, 0, 1864 }, + { 4, 11, 219 }, { 7, 11, 1761 }, { 137, 11, 86 }, { 6, 0, 1888 }, + { 6, 0, 1892 }, { 6, 0, 1901 }, { 6, 0, 1904 }, { 9, 0, 953 }, + { 9, 0, 985 }, { 9, 0, 991 }, { 9, 0, 1001 }, { 12, 0, 818 }, + { 12, 0, 846 }, { 12, 0, 847 }, { 12, 0, 861 }, { 12, 0, 862 }, + { 12, 0, 873 }, { 12, 0, 875 }, { 12, 0, 877 }, { 12, 0, 879 }, + { 12, 0, 881 }, { 12, 0, 884 }, { 12, 0, 903 }, { 12, 0, 915 }, + { 12, 0, 926 }, { 12, 0, 939 }, { 15, 0, 182 }, { 15, 0, 219 }, + { 15, 0, 255 }, { 18, 0, 191 }, { 18, 0, 209 }, { 18, 0, 211 }, + { 149, 0, 41 }, { 5, 11, 328 }, { 135, 11, 918 }, { 137, 0, 780 }, + { 12, 0, 82 }, { 143, 0, 36 }, { 133, 10, 1010 }, { 5, 0, 821 }, + { 134, 0, 1687 }, { 133, 11, 514 }, { 132, 0, 956 }, { 134, 0, 1180 }, + { 10, 0, 112 }, { 5, 10, 87 }, { 7, 10, 313 }, { 7, 10, 1103 }, + { 10, 10, 582 }, { 11, 10, 389 }, { 11, 10, 813 }, { 12, 10, 385 }, + { 13, 10, 286 }, { 14, 10, 124 }, { 146, 10, 108 }, { 5, 0, 71 }, + { 7, 0, 1407 }, { 9, 0, 704 }, { 10, 0, 261 }, { 10, 0, 619 }, + { 11, 0, 547 }, { 11, 0, 619 }, { 143, 0, 157 }, { 4, 0, 531 }, + { 5, 0, 455 }, { 5, 11, 301 }, { 6, 11, 571 }, { 14, 11, 49 }, + { 146, 11, 102 }, { 132, 10, 267 }, { 6, 0, 385 }, { 7, 0, 2008 }, + { 9, 0, 337 }, { 138, 0, 517 }, { 133, 11, 726 }, { 133, 11, 364 }, + { 4, 11, 76 }, { 7, 11, 1550 }, { 9, 11, 306 }, { 9, 11, 430 }, + { 9, 11, 663 }, { 10, 11, 683 }, { 11, 11, 427 }, { 11, 11, 753 }, + { 12, 11, 334 }, { 12, 11, 442 }, { 14, 11, 258 }, { 14, 11, 366 }, + { 143, 11, 131 }, { 6, 0, 1865 }, { 6, 0, 1879 }, { 6, 0, 1881 }, + { 6, 0, 1894 }, { 6, 0, 1908 }, { 9, 0, 915 }, { 9, 0, 926 }, + { 9, 0, 940 }, { 9, 0, 943 }, { 9, 0, 966 }, { 9, 0, 980 }, + { 9, 0, 989 }, { 9, 0, 1005 }, { 9, 0, 1010 }, { 12, 0, 813 }, + { 12, 0, 817 }, { 12, 0, 840 }, { 12, 0, 843 }, { 12, 0, 855 }, + { 12, 0, 864 }, { 12, 0, 871 }, { 12, 0, 872 }, { 12, 0, 899 }, + { 12, 0, 905 }, { 12, 0, 924 }, { 15, 0, 171 }, { 15, 0, 181 }, + { 15, 0, 224 }, { 15, 0, 235 }, { 15, 0, 251 }, { 146, 0, 184 }, + { 137, 11, 52 }, { 5, 0, 16 }, { 6, 0, 86 }, { 6, 0, 603 }, + { 7, 0, 292 }, { 7, 0, 561 }, { 8, 0, 257 }, { 8, 0, 382 }, + { 9, 0, 721 }, { 9, 0, 778 }, { 11, 0, 581 }, { 140, 0, 466 }, + { 4, 0, 486 }, { 5, 0, 491 }, { 135, 10, 1121 }, { 4, 0, 72 }, + { 6, 0, 265 }, { 135, 0, 1300 }, { 135, 11, 1183 }, { 10, 10, 249 }, + { 139, 10, 209 }, { 132, 10, 561 }, { 137, 11, 519 }, { 4, 11, 656 }, + { 4, 10, 760 }, { 135, 11, 779 }, { 9, 10, 154 }, { 140, 10, 485 }, + { 135, 11, 1793 }, { 135, 11, 144 }, { 136, 10, 255 }, { 133, 0, 621 }, + { 4, 10, 368 }, { 135, 10, 641 }, { 135, 11, 1373 }, { 7, 11, 554 }, + { 7, 11, 605 }, { 141, 11, 10 }, { 137, 0, 234 }, { 5, 0, 815 }, + { 6, 0, 1688 }, { 134, 0, 1755 }, { 5, 11, 838 }, { 5, 11, 841 }, + { 134, 11, 1649 }, { 7, 0, 1987 }, { 7, 0, 2040 }, { 136, 0, 743 }, + { 133, 11, 1012 }, { 6, 0, 197 }, { 136, 0, 205 }, { 6, 0, 314 }, + { 134, 11, 314 }, { 144, 11, 53 }, { 6, 11, 251 }, { 7, 11, 365 }, + { 7, 11, 1357 }, { 7, 11, 1497 }, { 8, 11, 154 }, { 141, 11, 281 }, + { 133, 11, 340 }, { 6, 0, 452 }, { 7, 0, 312 }, { 138, 0, 219 }, + { 138, 0, 589 }, { 4, 0, 333 }, { 9, 0, 176 }, { 12, 0, 353 }, + { 141, 0, 187 }, { 9, 10, 92 }, { 147, 10, 91 }, { 134, 0, 1110 }, + { 11, 0, 47 }, { 139, 11, 495 }, { 6, 10, 525 }, { 8, 10, 806 }, + { 9, 10, 876 }, { 140, 10, 284 }, { 8, 11, 261 }, { 9, 11, 144 }, + { 9, 11, 466 }, { 10, 11, 370 }, { 12, 11, 470 }, { 13, 11, 144 }, + { 142, 11, 348 }, { 137, 11, 897 }, { 8, 0, 863 }, { 8, 0, 864 }, + { 8, 0, 868 }, { 8, 0, 884 }, { 10, 0, 866 }, { 10, 0, 868 }, + { 10, 0, 873 }, { 10, 0, 911 }, { 10, 0, 912 }, { 10, 0, 944 }, + { 12, 0, 727 }, { 6, 11, 248 }, { 9, 11, 546 }, { 10, 11, 535 }, + { 11, 11, 681 }, { 141, 11, 135 }, { 6, 0, 300 }, { 135, 0, 1515 }, + { 134, 0, 1237 }, { 139, 10, 958 }, { 133, 10, 594 }, { 140, 11, 250 }, + { 134, 0, 1685 }, { 134, 11, 567 }, { 7, 0, 135 }, { 8, 0, 7 }, + { 8, 0, 62 }, { 9, 0, 243 }, { 10, 0, 658 }, { 10, 0, 697 }, + { 11, 0, 456 }, { 139, 0, 756 }, { 9, 0, 395 }, { 138, 0, 79 }, + { 6, 10, 1641 }, { 136, 10, 820 }, { 4, 10, 302 }, { 135, 10, 1766 }, + { 134, 11, 174 }, { 135, 10, 1313 }, { 135, 0, 631 }, { 134, 10, 1674 }, + { 134, 11, 395 }, { 138, 0, 835 }, { 7, 0, 406 }, { 7, 0, 459 }, + { 8, 0, 606 }, { 139, 0, 726 }, { 134, 11, 617 }, { 134, 0, 979 }, + { 6, 10, 389 }, { 7, 10, 149 }, { 9, 10, 142 }, { 138, 10, 94 }, + { 5, 11, 878 }, { 133, 11, 972 }, { 6, 10, 8 }, { 7, 10, 1881 }, + { 8, 10, 91 }, { 136, 11, 511 }, { 133, 0, 612 }, { 132, 11, 351 }, + { 4, 0, 372 }, { 7, 0, 482 }, { 8, 0, 158 }, { 9, 0, 602 }, + { 9, 0, 615 }, { 10, 0, 245 }, { 10, 0, 678 }, { 10, 0, 744 }, + { 11, 0, 248 }, { 139, 0, 806 }, { 5, 0, 854 }, { 135, 0, 1991 }, + { 132, 11, 286 }, { 135, 11, 344 }, { 7, 11, 438 }, { 7, 11, 627 }, + { 7, 11, 1516 }, { 8, 11, 40 }, { 9, 11, 56 }, { 9, 11, 294 }, + { 10, 11, 30 }, { 10, 11, 259 }, { 11, 11, 969 }, { 146, 11, 148 }, + { 135, 0, 1492 }, { 5, 11, 259 }, { 7, 11, 414 }, { 7, 11, 854 }, + { 142, 11, 107 }, { 135, 10, 1746 }, { 6, 0, 833 }, { 134, 0, 998 }, + { 135, 10, 24 }, { 6, 0, 750 }, { 135, 0, 1739 }, { 4, 10, 503 }, + { 135, 10, 1661 }, { 5, 10, 130 }, { 7, 10, 1314 }, { 9, 10, 610 }, + { 10, 10, 718 }, { 11, 10, 601 }, { 11, 10, 819 }, { 11, 10, 946 }, + { 140, 10, 536 }, { 10, 10, 149 }, { 11, 10, 280 }, { 142, 10, 336 }, + { 132, 11, 738 }, { 135, 10, 1946 }, { 5, 0, 195 }, { 135, 0, 1685 }, + { 7, 0, 1997 }, { 8, 0, 730 }, { 139, 0, 1006 }, { 151, 11, 17 }, + { 133, 11, 866 }, { 14, 0, 463 }, { 14, 0, 470 }, { 150, 0, 61 }, + { 5, 0, 751 }, { 8, 0, 266 }, { 11, 0, 578 }, { 4, 10, 392 }, + { 135, 10, 1597 }, { 5, 10, 433 }, { 9, 10, 633 }, { 139, 10, 629 }, + { 135, 0, 821 }, { 6, 0, 715 }, { 134, 0, 1325 }, { 133, 11, 116 }, + { 6, 0, 868 }, { 132, 11, 457 }, { 134, 0, 959 }, { 6, 10, 234 }, + { 138, 11, 199 }, { 7, 0, 1053 }, { 7, 10, 1950 }, { 8, 10, 680 }, + { 11, 10, 817 }, { 147, 10, 88 }, { 7, 10, 1222 }, { 138, 10, 386 }, + { 5, 0, 950 }, { 5, 0, 994 }, { 6, 0, 351 }, { 134, 0, 1124 }, + { 134, 0, 1081 }, { 7, 0, 1595 }, { 6, 10, 5 }, { 11, 10, 249 }, + { 12, 10, 313 }, { 16, 10, 66 }, { 145, 10, 26 }, { 148, 0, 59 }, + { 5, 11, 527 }, { 6, 11, 189 }, { 135, 11, 859 }, { 5, 10, 963 }, + { 6, 10, 1773 }, { 11, 11, 104 }, { 11, 11, 554 }, { 15, 11, 60 }, + { 143, 11, 125 }, { 135, 0, 47 }, { 137, 0, 684 }, { 134, 11, 116 }, + { 134, 0, 1606 }, { 134, 0, 777 }, { 7, 0, 1020 }, { 8, 10, 509 }, + { 136, 10, 792 }, { 135, 0, 1094 }, { 132, 0, 350 }, { 133, 11, 487 }, + { 4, 11, 86 }, { 5, 11, 667 }, { 5, 11, 753 }, { 6, 11, 316 }, + { 6, 11, 455 }, { 135, 11, 946 }, { 7, 0, 1812 }, { 13, 0, 259 }, + { 13, 0, 356 }, { 14, 0, 242 }, { 147, 0, 114 }, { 132, 10, 931 }, + { 133, 0, 967 }, { 4, 0, 473 }, { 7, 0, 623 }, { 8, 0, 808 }, + { 9, 0, 871 }, { 9, 0, 893 }, { 11, 0, 38 }, { 11, 0, 431 }, + { 12, 0, 112 }, { 12, 0, 217 }, { 12, 0, 243 }, { 12, 0, 562 }, + { 12, 0, 663 }, { 12, 0, 683 }, { 13, 0, 141 }, { 13, 0, 197 }, + { 13, 0, 227 }, { 13, 0, 406 }, { 13, 0, 487 }, { 14, 0, 156 }, + { 14, 0, 203 }, { 14, 0, 224 }, { 14, 0, 256 }, { 18, 0, 58 }, + { 150, 0, 0 }, { 138, 0, 286 }, { 7, 10, 943 }, { 139, 10, 614 }, + { 135, 10, 1837 }, { 150, 11, 45 }, { 132, 0, 798 }, { 4, 0, 222 }, + { 7, 0, 286 }, { 136, 0, 629 }, { 4, 11, 79 }, { 7, 11, 1773 }, + { 10, 11, 450 }, { 11, 11, 589 }, { 13, 11, 332 }, { 13, 11, 493 }, + { 14, 11, 183 }, { 14, 11, 334 }, { 14, 11, 362 }, { 14, 11, 368 }, + { 14, 11, 376 }, { 14, 11, 379 }, { 19, 11, 90 }, { 19, 11, 103 }, + { 19, 11, 127 }, { 148, 11, 90 }, { 5, 0, 337 }, { 11, 0, 513 }, + { 11, 0, 889 }, { 11, 0, 961 }, { 12, 0, 461 }, { 13, 0, 79 }, + { 15, 0, 121 }, { 4, 10, 90 }, { 5, 10, 545 }, { 7, 10, 754 }, + { 9, 10, 186 }, { 10, 10, 72 }, { 10, 10, 782 }, { 11, 10, 577 }, + { 11, 10, 610 }, { 12, 10, 354 }, { 12, 10, 362 }, { 140, 10, 595 }, + { 141, 0, 306 }, { 136, 0, 146 }, { 7, 0, 1646 }, { 9, 10, 329 }, + { 11, 10, 254 }, { 141, 11, 124 }, { 4, 0, 465 }, { 135, 0, 1663 }, + { 132, 0, 525 }, { 133, 11, 663 }, { 10, 0, 299 }, { 18, 0, 74 }, + { 9, 10, 187 }, { 11, 10, 1016 }, { 145, 10, 44 }, { 7, 0, 165 }, + { 7, 0, 919 }, { 4, 10, 506 }, { 136, 10, 517 }, { 5, 10, 295 }, + { 135, 10, 1680 }, { 133, 11, 846 }, { 134, 0, 1064 }, { 5, 11, 378 }, + { 7, 11, 1402 }, { 7, 11, 1414 }, { 8, 11, 465 }, { 9, 11, 286 }, + { 10, 11, 185 }, { 10, 11, 562 }, { 10, 11, 635 }, { 11, 11, 31 }, + { 11, 11, 393 }, { 12, 11, 456 }, { 13, 11, 312 }, { 18, 11, 65 }, + { 18, 11, 96 }, { 147, 11, 89 }, { 132, 0, 596 }, { 7, 10, 987 }, + { 9, 10, 688 }, { 10, 10, 522 }, { 11, 10, 788 }, { 140, 10, 566 }, + { 6, 0, 82 }, { 7, 0, 138 }, { 7, 0, 517 }, { 7, 0, 1741 }, + { 11, 0, 238 }, { 4, 11, 648 }, { 134, 10, 1775 }, { 7, 0, 1233 }, + { 7, 10, 700 }, { 7, 10, 940 }, { 8, 10, 514 }, { 9, 10, 116 }, + { 9, 10, 535 }, { 10, 10, 118 }, { 11, 10, 107 }, { 11, 10, 148 }, + { 11, 10, 922 }, { 12, 10, 254 }, { 12, 10, 421 }, { 142, 10, 238 }, + { 4, 0, 962 }, { 6, 0, 1824 }, { 8, 0, 894 }, { 12, 0, 708 }, + { 12, 0, 725 }, { 14, 0, 451 }, { 20, 0, 94 }, { 22, 0, 59 }, + { 150, 0, 62 }, { 5, 11, 945 }, { 6, 11, 1656 }, { 6, 11, 1787 }, + { 7, 11, 167 }, { 8, 11, 824 }, { 9, 11, 391 }, { 10, 11, 375 }, + { 139, 11, 185 }, { 5, 0, 495 }, { 7, 0, 834 }, { 9, 0, 733 }, + { 139, 0, 378 }, { 4, 10, 743 }, { 135, 11, 1273 }, { 6, 0, 1204 }, + { 7, 11, 1645 }, { 8, 11, 352 }, { 137, 11, 249 }, { 139, 10, 292 }, + { 133, 0, 559 }, { 132, 11, 152 }, { 9, 0, 499 }, { 10, 0, 341 }, + { 15, 0, 144 }, { 19, 0, 49 }, { 7, 10, 1283 }, { 9, 10, 227 }, + { 11, 10, 325 }, { 11, 10, 408 }, { 14, 10, 180 }, { 146, 10, 47 }, + { 6, 0, 21 }, { 6, 0, 1737 }, { 7, 0, 1444 }, { 136, 0, 224 }, + { 133, 11, 1006 }, { 7, 0, 1446 }, { 9, 0, 97 }, { 17, 0, 15 }, + { 5, 10, 81 }, { 7, 10, 146 }, { 7, 10, 1342 }, { 8, 10, 53 }, + { 8, 10, 561 }, { 8, 10, 694 }, { 8, 10, 754 }, { 9, 10, 115 }, + { 9, 10, 894 }, { 10, 10, 462 }, { 10, 10, 813 }, { 11, 10, 230 }, + { 11, 10, 657 }, { 11, 10, 699 }, { 11, 10, 748 }, { 12, 10, 119 }, + { 12, 10, 200 }, { 12, 10, 283 }, { 142, 10, 273 }, { 5, 10, 408 }, + { 137, 10, 747 }, { 135, 11, 431 }, { 135, 11, 832 }, { 6, 0, 729 }, + { 134, 0, 953 }, { 4, 0, 727 }, { 8, 0, 565 }, { 5, 11, 351 }, + { 7, 11, 264 }, { 136, 11, 565 }, { 134, 0, 1948 }, { 5, 0, 519 }, + { 5, 11, 40 }, { 7, 11, 598 }, { 7, 11, 1638 }, { 8, 11, 78 }, + { 9, 11, 166 }, { 9, 11, 640 }, { 9, 11, 685 }, { 9, 11, 773 }, + { 11, 11, 215 }, { 13, 11, 65 }, { 14, 11, 172 }, { 14, 11, 317 }, + { 145, 11, 6 }, { 8, 11, 60 }, { 9, 11, 343 }, { 139, 11, 769 }, + { 137, 11, 455 }, { 134, 0, 1193 }, { 140, 0, 790 }, { 7, 11, 1951 }, + { 8, 11, 765 }, { 8, 11, 772 }, { 140, 11, 671 }, { 7, 11, 108 }, + { 8, 11, 219 }, { 8, 11, 388 }, { 9, 11, 639 }, { 9, 11, 775 }, + { 11, 11, 275 }, { 140, 11, 464 }, { 132, 11, 468 }, { 7, 10, 30 }, + { 8, 10, 86 }, { 8, 10, 315 }, { 8, 10, 700 }, { 9, 10, 576 }, + { 9, 10, 858 }, { 11, 10, 310 }, { 11, 10, 888 }, { 11, 10, 904 }, + { 12, 10, 361 }, { 141, 10, 248 }, { 5, 11, 15 }, { 6, 11, 56 }, + { 7, 11, 1758 }, { 8, 11, 500 }, { 9, 11, 730 }, { 11, 11, 331 }, + { 13, 11, 150 }, { 142, 11, 282 }, { 4, 0, 402 }, { 7, 0, 2 }, + { 8, 0, 323 }, { 136, 0, 479 }, { 138, 10, 839 }, { 11, 0, 580 }, + { 142, 0, 201 }, { 5, 0, 59 }, { 135, 0, 672 }, { 137, 10, 617 }, + { 146, 0, 34 }, { 134, 11, 1886 }, { 4, 0, 961 }, { 136, 0, 896 }, + { 6, 0, 1285 }, { 5, 11, 205 }, { 6, 11, 438 }, { 137, 11, 711 }, + { 134, 10, 428 }, { 7, 10, 524 }, { 8, 10, 169 }, { 8, 10, 234 }, + { 9, 10, 480 }, { 138, 10, 646 }, { 148, 0, 46 }, { 141, 0, 479 }, + { 133, 11, 534 }, { 6, 0, 2019 }, { 134, 10, 1648 }, { 4, 0, 85 }, + { 7, 0, 549 }, { 7, 10, 1205 }, { 138, 10, 637 }, { 4, 0, 663 }, + { 5, 0, 94 }, { 7, 11, 235 }, { 7, 11, 1475 }, { 15, 11, 68 }, + { 146, 11, 120 }, { 6, 11, 443 }, { 9, 11, 237 }, { 9, 11, 571 }, + { 9, 11, 695 }, { 10, 11, 139 }, { 11, 11, 715 }, { 12, 11, 417 }, + { 141, 11, 421 }, { 132, 0, 783 }, { 4, 0, 682 }, { 8, 0, 65 }, + { 9, 10, 39 }, { 10, 10, 166 }, { 11, 10, 918 }, { 12, 10, 635 }, + { 20, 10, 10 }, { 22, 10, 27 }, { 22, 10, 43 }, { 150, 10, 52 }, + { 6, 0, 11 }, { 135, 0, 187 }, { 132, 0, 522 }, { 4, 0, 52 }, + { 135, 0, 661 }, { 4, 0, 383 }, { 133, 0, 520 }, { 135, 11, 546 }, + { 11, 0, 343 }, { 142, 0, 127 }, { 4, 11, 578 }, { 7, 10, 157 }, + { 7, 11, 624 }, { 7, 11, 916 }, { 8, 10, 279 }, { 10, 11, 256 }, + { 11, 11, 87 }, { 139, 11, 703 }, { 134, 10, 604 }, { 4, 0, 281 }, + { 5, 0, 38 }, { 7, 0, 194 }, { 7, 0, 668 }, { 7, 0, 1893 }, + { 137, 0, 397 }, { 7, 10, 945 }, { 11, 10, 713 }, { 139, 10, 744 }, + { 139, 10, 1022 }, { 9, 0, 635 }, { 139, 0, 559 }, { 5, 11, 923 }, + { 7, 11, 490 }, { 12, 11, 553 }, { 13, 11, 100 }, { 14, 11, 118 }, + { 143, 11, 75 }, { 132, 0, 975 }, { 132, 10, 567 }, { 137, 10, 859 }, + { 7, 10, 1846 }, { 7, 11, 1846 }, { 8, 10, 628 }, { 136, 11, 628 }, + { 148, 0, 116 }, { 138, 11, 750 }, { 14, 0, 51 }, { 14, 11, 51 }, + { 15, 11, 7 }, { 148, 11, 20 }, { 132, 0, 858 }, { 134, 0, 1075 }, + { 4, 11, 924 }, { 133, 10, 762 }, { 136, 0, 535 }, { 133, 0, 448 }, + { 10, 10, 784 }, { 141, 10, 191 }, { 133, 10, 298 }, { 7, 0, 610 }, + { 135, 0, 1501 }, { 7, 10, 633 }, { 7, 10, 905 }, { 7, 10, 909 }, + { 7, 10, 1538 }, { 9, 10, 767 }, { 140, 10, 636 }, { 4, 11, 265 }, + { 7, 11, 807 }, { 135, 11, 950 }, { 5, 11, 93 }, { 12, 11, 267 }, + { 144, 11, 26 }, { 136, 0, 191 }, { 139, 10, 301 }, { 135, 10, 1970 }, + { 135, 0, 267 }, { 4, 0, 319 }, { 5, 0, 699 }, { 138, 0, 673 }, + { 6, 0, 336 }, { 7, 0, 92 }, { 7, 0, 182 }, { 8, 0, 453 }, + { 8, 0, 552 }, { 9, 0, 204 }, { 9, 0, 285 }, { 10, 0, 99 }, + { 11, 0, 568 }, { 11, 0, 950 }, { 12, 0, 94 }, { 16, 0, 20 }, + { 16, 0, 70 }, { 19, 0, 55 }, { 12, 10, 644 }, { 144, 10, 90 }, + { 6, 0, 551 }, { 7, 0, 1308 }, { 7, 10, 845 }, { 7, 11, 994 }, + { 8, 10, 160 }, { 137, 10, 318 }, { 19, 11, 1 }, { 19, 11, 26 }, + { 150, 11, 9 }, { 7, 0, 1406 }, { 9, 0, 218 }, { 141, 0, 222 }, + { 5, 0, 256 }, { 138, 0, 69 }, { 5, 11, 233 }, { 5, 11, 320 }, + { 6, 11, 140 }, { 7, 11, 330 }, { 136, 11, 295 }, { 6, 0, 1980 }, + { 136, 0, 952 }, { 4, 0, 833 }, { 137, 11, 678 }, { 133, 11, 978 }, + { 4, 11, 905 }, { 6, 11, 1701 }, { 137, 11, 843 }, { 138, 10, 735 }, + { 136, 10, 76 }, { 17, 0, 39 }, { 148, 0, 36 }, { 18, 0, 81 }, + { 146, 11, 81 }, { 14, 0, 352 }, { 17, 0, 53 }, { 18, 0, 146 }, + { 18, 0, 152 }, { 19, 0, 11 }, { 150, 0, 54 }, { 135, 0, 634 }, + { 138, 10, 841 }, { 132, 0, 618 }, { 4, 0, 339 }, { 7, 0, 259 }, + { 17, 0, 73 }, { 4, 11, 275 }, { 140, 11, 376 }, { 132, 11, 509 }, + { 7, 11, 273 }, { 139, 11, 377 }, { 4, 0, 759 }, { 13, 0, 169 }, + { 137, 10, 804 }, { 6, 10, 96 }, { 135, 10, 1426 }, { 4, 10, 651 }, + { 133, 10, 289 }, { 7, 0, 1075 }, { 8, 10, 35 }, { 9, 10, 511 }, + { 10, 10, 767 }, { 147, 10, 118 }, { 6, 0, 649 }, { 6, 0, 670 }, + { 136, 0, 482 }, { 5, 0, 336 }, { 6, 0, 341 }, { 6, 0, 478 }, + { 6, 0, 1763 }, { 136, 0, 386 }, { 5, 11, 802 }, { 7, 11, 2021 }, + { 8, 11, 805 }, { 14, 11, 94 }, { 15, 11, 65 }, { 16, 11, 4 }, + { 16, 11, 77 }, { 16, 11, 80 }, { 145, 11, 5 }, { 6, 0, 1035 }, + { 5, 11, 167 }, { 5, 11, 899 }, { 6, 11, 410 }, { 137, 11, 777 }, + { 134, 11, 1705 }, { 5, 0, 924 }, { 133, 0, 969 }, { 132, 10, 704 }, + { 135, 0, 73 }, { 135, 11, 10 }, { 135, 10, 1078 }, { 5, 11, 11 }, + { 6, 11, 117 }, { 6, 11, 485 }, { 7, 11, 1133 }, { 9, 11, 582 }, + { 9, 11, 594 }, { 11, 11, 21 }, { 11, 11, 818 }, { 12, 11, 535 }, + { 141, 11, 86 }, { 135, 0, 1971 }, { 4, 11, 264 }, { 7, 11, 1067 }, + { 8, 11, 204 }, { 8, 11, 385 }, { 139, 11, 953 }, { 6, 0, 1458 }, + { 135, 0, 1344 }, { 5, 0, 396 }, { 134, 0, 501 }, { 4, 10, 720 }, + { 133, 10, 306 }, { 4, 0, 929 }, { 5, 0, 799 }, { 8, 0, 46 }, + { 8, 0, 740 }, { 133, 10, 431 }, { 7, 11, 646 }, { 7, 11, 1730 }, + { 11, 11, 446 }, { 141, 11, 178 }, { 7, 0, 276 }, { 5, 10, 464 }, + { 6, 10, 236 }, { 7, 10, 696 }, { 7, 10, 914 }, { 7, 10, 1108 }, + { 7, 10, 1448 }, { 9, 10, 15 }, { 9, 10, 564 }, { 10, 10, 14 }, + { 12, 10, 565 }, { 13, 10, 449 }, { 14, 10, 53 }, { 15, 10, 13 }, + { 16, 10, 64 }, { 145, 10, 41 }, { 4, 0, 892 }, { 133, 0, 770 }, + { 6, 10, 1767 }, { 12, 10, 194 }, { 145, 10, 107 }, { 135, 0, 158 }, + { 5, 10, 840 }, { 138, 11, 608 }, { 134, 0, 1432 }, { 138, 11, 250 }, + { 8, 11, 794 }, { 9, 11, 400 }, { 10, 11, 298 }, { 142, 11, 228 }, + { 151, 0, 25 }, { 7, 11, 1131 }, { 135, 11, 1468 }, { 135, 0, 2001 }, + { 9, 10, 642 }, { 11, 10, 236 }, { 142, 10, 193 }, { 4, 10, 68 }, + { 5, 10, 634 }, { 6, 10, 386 }, { 7, 10, 794 }, { 8, 10, 273 }, + { 9, 10, 563 }, { 10, 10, 105 }, { 10, 10, 171 }, { 11, 10, 94 }, + { 139, 10, 354 }, { 136, 11, 724 }, { 132, 0, 478 }, { 11, 11, 512 }, + { 13, 11, 205 }, { 19, 11, 30 }, { 22, 11, 36 }, { 151, 11, 19 }, + { 7, 0, 1461 }, { 140, 0, 91 }, { 6, 11, 190 }, { 7, 11, 768 }, + { 135, 11, 1170 }, { 4, 0, 602 }, { 8, 0, 211 }, { 4, 10, 95 }, + { 7, 10, 416 }, { 139, 10, 830 }, { 7, 10, 731 }, { 13, 10, 20 }, + { 143, 10, 11 }, { 6, 0, 1068 }, { 135, 0, 1872 }, { 4, 0, 13 }, + { 5, 0, 567 }, { 7, 0, 1498 }, { 9, 0, 124 }, { 11, 0, 521 }, + { 12, 0, 405 }, { 135, 11, 1023 }, { 135, 0, 1006 }, { 132, 0, 735 }, + { 138, 0, 812 }, { 4, 0, 170 }, { 135, 0, 323 }, { 6, 11, 137 }, + { 9, 11, 75 }, { 9, 11, 253 }, { 10, 11, 194 }, { 138, 11, 444 }, + { 5, 0, 304 }, { 7, 0, 1403 }, { 5, 10, 864 }, { 10, 10, 648 }, + { 11, 10, 671 }, { 143, 10, 46 }, { 135, 11, 1180 }, { 133, 10, 928 }, + { 4, 0, 148 }, { 133, 0, 742 }, { 11, 10, 986 }, { 140, 10, 682 }, + { 133, 0, 523 }, { 135, 11, 1743 }, { 7, 0, 730 }, { 18, 0, 144 }, + { 19, 0, 61 }, { 8, 10, 44 }, { 9, 10, 884 }, { 10, 10, 580 }, + { 11, 10, 399 }, { 11, 10, 894 }, { 143, 10, 122 }, { 5, 11, 760 }, + { 7, 11, 542 }, { 8, 11, 135 }, { 136, 11, 496 }, { 136, 0, 981 }, + { 133, 0, 111 }, { 10, 0, 132 }, { 11, 0, 191 }, { 11, 0, 358 }, + { 139, 0, 460 }, { 7, 11, 319 }, { 7, 11, 355 }, { 7, 11, 763 }, + { 10, 11, 389 }, { 145, 11, 43 }, { 134, 0, 890 }, { 134, 0, 1420 }, + { 136, 11, 557 }, { 133, 10, 518 }, { 133, 0, 444 }, { 135, 0, 1787 }, + { 135, 10, 1852 }, { 8, 0, 123 }, { 15, 0, 6 }, { 144, 0, 7 }, + { 6, 0, 2041 }, { 10, 11, 38 }, { 139, 11, 784 }, { 136, 0, 932 }, + { 5, 0, 937 }, { 135, 0, 100 }, { 6, 0, 995 }, { 4, 11, 58 }, + { 5, 11, 286 }, { 6, 11, 319 }, { 7, 11, 402 }, { 7, 11, 1254 }, + { 7, 11, 1903 }, { 8, 11, 356 }, { 140, 11, 408 }, { 4, 11, 389 }, + { 9, 11, 181 }, { 9, 11, 255 }, { 10, 11, 8 }, { 10, 11, 29 }, + { 10, 11, 816 }, { 11, 11, 311 }, { 11, 11, 561 }, { 12, 11, 67 }, + { 141, 11, 181 }, { 138, 0, 255 }, { 5, 0, 138 }, { 4, 10, 934 }, + { 136, 10, 610 }, { 4, 0, 965 }, { 10, 0, 863 }, { 138, 0, 898 }, + { 10, 10, 804 }, { 138, 10, 832 }, { 12, 0, 631 }, { 8, 10, 96 }, + { 9, 10, 36 }, { 10, 10, 607 }, { 11, 10, 423 }, { 11, 10, 442 }, + { 12, 10, 309 }, { 14, 10, 199 }, { 15, 10, 90 }, { 145, 10, 110 }, + { 134, 0, 1394 }, { 4, 0, 652 }, { 8, 0, 320 }, { 22, 0, 6 }, + { 22, 0, 16 }, { 9, 10, 13 }, { 9, 10, 398 }, { 9, 10, 727 }, + { 10, 10, 75 }, { 10, 10, 184 }, { 10, 10, 230 }, { 10, 10, 564 }, + { 10, 10, 569 }, { 11, 10, 973 }, { 12, 10, 70 }, { 12, 10, 189 }, + { 13, 10, 57 }, { 141, 10, 257 }, { 6, 0, 897 }, { 134, 0, 1333 }, + { 4, 0, 692 }, { 133, 0, 321 }, { 133, 11, 373 }, { 135, 0, 922 }, + { 5, 0, 619 }, { 133, 0, 698 }, { 137, 10, 631 }, { 5, 10, 345 }, + { 135, 10, 1016 }, { 9, 0, 957 }, { 9, 0, 1018 }, { 12, 0, 828 }, + { 12, 0, 844 }, { 12, 0, 897 }, { 12, 0, 901 }, { 12, 0, 943 }, + { 15, 0, 180 }, { 18, 0, 197 }, { 18, 0, 200 }, { 18, 0, 213 }, + { 18, 0, 214 }, { 146, 0, 226 }, { 5, 0, 917 }, { 134, 0, 1659 }, + { 135, 0, 1100 }, { 134, 0, 1173 }, { 134, 0, 1930 }, { 5, 0, 251 }, + { 5, 0, 956 }, { 8, 0, 268 }, { 9, 0, 214 }, { 146, 0, 142 }, + { 133, 10, 673 }, { 137, 10, 850 }, { 4, 10, 287 }, { 133, 10, 1018 }, + { 132, 11, 672 }, { 5, 0, 346 }, { 5, 0, 711 }, { 8, 0, 390 }, + { 11, 11, 752 }, { 139, 11, 885 }, { 5, 10, 34 }, { 10, 10, 724 }, + { 12, 10, 444 }, { 13, 10, 354 }, { 18, 10, 32 }, { 23, 10, 24 }, + { 23, 10, 31 }, { 152, 10, 5 }, { 4, 11, 710 }, { 134, 11, 606 }, + { 134, 0, 744 }, { 134, 10, 382 }, { 133, 11, 145 }, { 4, 10, 329 }, + { 7, 11, 884 }, { 140, 11, 124 }, { 4, 11, 467 }, { 5, 11, 405 }, + { 134, 11, 544 }, { 9, 10, 846 }, { 138, 10, 827 }, { 133, 0, 624 }, + { 9, 11, 372 }, { 15, 11, 2 }, { 19, 11, 10 }, { 147, 11, 18 }, + { 4, 11, 387 }, { 135, 11, 1288 }, { 5, 0, 783 }, { 7, 0, 1998 }, + { 135, 0, 2047 }, { 132, 10, 906 }, { 136, 10, 366 }, { 135, 11, 550 }, + { 4, 10, 123 }, { 4, 10, 649 }, { 5, 10, 605 }, { 7, 10, 1509 }, + { 136, 10, 36 }, { 134, 0, 1125 }, { 132, 0, 594 }, { 133, 10, 767 }, + { 135, 11, 1227 }, { 136, 11, 467 }, { 4, 11, 576 }, { 135, 11, 1263 }, + { 4, 0, 268 }, { 7, 0, 1534 }, { 135, 11, 1534 }, { 4, 10, 273 }, + { 5, 10, 658 }, { 5, 11, 919 }, { 5, 10, 995 }, { 134, 11, 1673 }, + { 133, 0, 563 }, { 134, 10, 72 }, { 135, 10, 1345 }, { 4, 11, 82 }, + { 5, 11, 333 }, { 5, 11, 904 }, { 6, 11, 207 }, { 7, 11, 325 }, + { 7, 11, 1726 }, { 8, 11, 101 }, { 10, 11, 778 }, { 139, 11, 220 }, + { 5, 0, 37 }, { 6, 0, 39 }, { 6, 0, 451 }, { 7, 0, 218 }, + { 7, 0, 667 }, { 7, 0, 1166 }, { 7, 0, 1687 }, { 8, 0, 662 }, + { 16, 0, 2 }, { 133, 10, 589 }, { 134, 0, 1332 }, { 133, 11, 903 }, + { 134, 0, 508 }, { 5, 10, 117 }, { 6, 10, 514 }, { 6, 10, 541 }, + { 7, 10, 1164 }, { 7, 10, 1436 }, { 8, 10, 220 }, { 8, 10, 648 }, + { 10, 10, 688 }, { 11, 10, 560 }, { 140, 11, 147 }, { 6, 11, 555 }, + { 135, 11, 485 }, { 133, 10, 686 }, { 7, 0, 453 }, { 7, 0, 635 }, + { 7, 0, 796 }, { 8, 0, 331 }, { 9, 0, 330 }, { 9, 0, 865 }, + { 10, 0, 119 }, { 10, 0, 235 }, { 11, 0, 111 }, { 11, 0, 129 }, + { 11, 0, 240 }, { 12, 0, 31 }, { 12, 0, 66 }, { 12, 0, 222 }, + { 12, 0, 269 }, { 12, 0, 599 }, { 12, 0, 684 }, { 12, 0, 689 }, + { 12, 0, 691 }, { 142, 0, 345 }, { 135, 0, 1834 }, { 4, 11, 705 }, + { 7, 11, 615 }, { 138, 11, 251 }, { 136, 11, 345 }, { 137, 0, 527 }, + { 6, 0, 98 }, { 7, 0, 702 }, { 135, 0, 991 }, { 11, 0, 576 }, + { 14, 0, 74 }, { 7, 10, 196 }, { 10, 10, 765 }, { 11, 10, 347 }, + { 11, 10, 552 }, { 11, 10, 790 }, { 12, 10, 263 }, { 13, 10, 246 }, + { 13, 10, 270 }, { 13, 10, 395 }, { 14, 10, 176 }, { 14, 10, 190 }, + { 14, 10, 398 }, { 14, 10, 412 }, { 15, 10, 32 }, { 15, 10, 63 }, + { 16, 10, 88 }, { 147, 10, 105 }, { 134, 11, 90 }, { 13, 0, 84 }, + { 141, 0, 122 }, { 6, 0, 37 }, { 7, 0, 299 }, { 7, 0, 1666 }, + { 8, 0, 195 }, { 8, 0, 316 }, { 9, 0, 178 }, { 9, 0, 276 }, + { 9, 0, 339 }, { 9, 0, 536 }, { 10, 0, 102 }, { 10, 0, 362 }, + { 10, 0, 785 }, { 11, 0, 55 }, { 11, 0, 149 }, { 11, 0, 773 }, + { 13, 0, 416 }, { 13, 0, 419 }, { 14, 0, 38 }, { 14, 0, 41 }, + { 142, 0, 210 }, { 5, 10, 381 }, { 135, 10, 1792 }, { 7, 11, 813 }, + { 12, 11, 497 }, { 141, 11, 56 }, { 7, 10, 616 }, { 138, 10, 413 }, + { 133, 0, 645 }, { 6, 11, 125 }, { 135, 11, 1277 }, { 132, 0, 290 }, + { 6, 0, 70 }, { 7, 0, 1292 }, { 10, 0, 762 }, { 139, 0, 288 }, + { 6, 10, 120 }, { 7, 10, 1188 }, { 7, 10, 1710 }, { 8, 10, 286 }, + { 9, 10, 667 }, { 11, 10, 592 }, { 139, 10, 730 }, { 135, 11, 1784 }, + { 7, 0, 1315 }, { 135, 11, 1315 }, { 134, 0, 1955 }, { 135, 10, 1146 }, + { 7, 0, 131 }, { 7, 0, 422 }, { 8, 0, 210 }, { 140, 0, 573 }, + { 4, 10, 352 }, { 135, 10, 687 }, { 139, 0, 797 }, { 143, 0, 38 }, + { 14, 0, 179 }, { 15, 0, 151 }, { 150, 0, 11 }, { 7, 0, 488 }, + { 4, 10, 192 }, { 5, 10, 49 }, { 6, 10, 200 }, { 6, 10, 293 }, + { 134, 10, 1696 }, { 132, 0, 936 }, { 135, 11, 703 }, { 6, 11, 160 }, + { 7, 11, 1106 }, { 9, 11, 770 }, { 10, 11, 618 }, { 11, 11, 112 }, + { 140, 11, 413 }, { 5, 0, 453 }, { 134, 0, 441 }, { 135, 0, 595 }, + { 132, 10, 650 }, { 132, 10, 147 }, { 6, 0, 991 }, { 6, 0, 1182 }, + { 12, 11, 271 }, { 145, 11, 109 }, { 133, 10, 934 }, { 140, 11, 221 }, + { 132, 0, 653 }, { 7, 0, 505 }, { 135, 0, 523 }, { 134, 0, 903 }, + { 135, 11, 479 }, { 7, 11, 304 }, { 9, 11, 646 }, { 9, 11, 862 }, + { 10, 11, 262 }, { 11, 11, 696 }, { 12, 11, 208 }, { 15, 11, 79 }, + { 147, 11, 108 }, { 146, 0, 80 }, { 135, 11, 981 }, { 142, 0, 432 }, + { 132, 0, 314 }, { 137, 11, 152 }, { 7, 0, 1368 }, { 8, 0, 232 }, + { 8, 0, 361 }, { 10, 0, 682 }, { 138, 0, 742 }, { 135, 11, 1586 }, + { 9, 0, 534 }, { 4, 11, 434 }, { 11, 11, 663 }, { 12, 11, 210 }, + { 13, 11, 166 }, { 13, 11, 310 }, { 14, 11, 373 }, { 147, 11, 43 }, + { 7, 11, 1091 }, { 135, 11, 1765 }, { 6, 11, 550 }, { 135, 11, 652 }, + { 137, 0, 27 }, { 142, 0, 12 }, { 4, 10, 637 }, { 5, 11, 553 }, + { 7, 11, 766 }, { 138, 11, 824 }, { 7, 11, 737 }, { 8, 11, 298 }, + { 136, 11, 452 }, { 7, 0, 736 }, { 139, 0, 264 }, { 134, 0, 1657 }, + { 133, 11, 292 }, { 138, 11, 135 }, { 6, 0, 844 }, { 134, 0, 1117 }, + { 135, 0, 127 }, { 9, 10, 867 }, { 138, 10, 837 }, { 6, 0, 1184 }, + { 134, 0, 1208 }, { 134, 0, 1294 }, { 136, 0, 364 }, { 6, 0, 1415 }, + { 7, 0, 1334 }, { 11, 0, 125 }, { 6, 10, 170 }, { 7, 11, 393 }, + { 8, 10, 395 }, { 8, 10, 487 }, { 10, 11, 603 }, { 11, 11, 206 }, + { 141, 10, 147 }, { 137, 11, 748 }, { 4, 11, 912 }, { 137, 11, 232 }, + { 4, 10, 535 }, { 136, 10, 618 }, { 137, 0, 792 }, { 7, 11, 1973 }, + { 136, 11, 716 }, { 135, 11, 98 }, { 5, 0, 909 }, { 9, 0, 849 }, + { 138, 0, 805 }, { 4, 0, 630 }, { 132, 0, 699 }, { 5, 11, 733 }, + { 14, 11, 103 }, { 150, 10, 23 }, { 12, 11, 158 }, { 18, 11, 8 }, + { 19, 11, 62 }, { 20, 11, 6 }, { 22, 11, 4 }, { 23, 11, 2 }, + { 151, 11, 9 }, { 132, 0, 968 }, { 132, 10, 778 }, { 132, 10, 46 }, + { 5, 10, 811 }, { 6, 10, 1679 }, { 6, 10, 1714 }, { 135, 10, 2032 }, + { 6, 0, 1446 }, { 7, 10, 1458 }, { 9, 10, 407 }, { 139, 10, 15 }, + { 7, 0, 206 }, { 7, 0, 397 }, { 7, 0, 621 }, { 7, 0, 640 }, + { 8, 0, 124 }, { 8, 0, 619 }, { 9, 0, 305 }, { 9, 0, 643 }, + { 10, 0, 264 }, { 10, 0, 628 }, { 11, 0, 40 }, { 12, 0, 349 }, + { 13, 0, 134 }, { 13, 0, 295 }, { 14, 0, 155 }, { 15, 0, 120 }, + { 18, 0, 105 }, { 6, 10, 34 }, { 7, 10, 1089 }, { 8, 10, 708 }, + { 8, 10, 721 }, { 9, 10, 363 }, { 148, 10, 98 }, { 4, 0, 262 }, + { 5, 0, 641 }, { 135, 0, 342 }, { 137, 11, 72 }, { 4, 0, 99 }, + { 6, 0, 250 }, { 6, 0, 346 }, { 8, 0, 127 }, { 138, 0, 81 }, + { 132, 0, 915 }, { 5, 0, 75 }, { 9, 0, 517 }, { 10, 0, 470 }, + { 12, 0, 155 }, { 141, 0, 224 }, { 132, 10, 462 }, { 11, 11, 600 }, + { 11, 11, 670 }, { 141, 11, 245 }, { 142, 0, 83 }, { 5, 10, 73 }, + { 6, 10, 23 }, { 134, 10, 338 }, { 6, 0, 1031 }, { 139, 11, 923 }, + { 7, 11, 164 }, { 7, 11, 1571 }, { 9, 11, 107 }, { 140, 11, 225 }, + { 134, 0, 1470 }, { 133, 0, 954 }, { 6, 0, 304 }, { 8, 0, 418 }, + { 10, 0, 345 }, { 11, 0, 341 }, { 139, 0, 675 }, { 9, 0, 410 }, + { 139, 0, 425 }, { 4, 11, 27 }, { 5, 11, 484 }, { 5, 11, 510 }, + { 6, 11, 434 }, { 7, 11, 1000 }, { 7, 11, 1098 }, { 8, 11, 2 }, + { 136, 11, 200 }, { 134, 0, 734 }, { 140, 11, 257 }, { 7, 10, 725 }, + { 8, 10, 498 }, { 139, 10, 268 }, { 134, 0, 1822 }, { 135, 0, 1798 }, + { 135, 10, 773 }, { 132, 11, 460 }, { 4, 11, 932 }, { 133, 11, 891 }, + { 134, 0, 14 }, { 132, 10, 583 }, { 7, 10, 1462 }, { 8, 11, 625 }, + { 139, 10, 659 }, { 5, 0, 113 }, { 6, 0, 243 }, { 6, 0, 1708 }, + { 7, 0, 1865 }, { 11, 0, 161 }, { 16, 0, 37 }, { 17, 0, 99 }, + { 133, 10, 220 }, { 134, 11, 76 }, { 5, 11, 461 }, { 135, 11, 1925 }, + { 140, 0, 69 }, { 8, 11, 92 }, { 137, 11, 221 }, { 139, 10, 803 }, + { 132, 10, 544 }, { 4, 0, 274 }, { 134, 0, 922 }, { 132, 0, 541 }, + { 5, 0, 627 }, { 6, 10, 437 }, { 6, 10, 564 }, { 11, 10, 181 }, + { 141, 10, 183 }, { 135, 10, 1192 }, { 7, 0, 166 }, { 132, 11, 763 }, + { 133, 11, 253 }, { 134, 0, 849 }, { 9, 11, 73 }, { 10, 11, 110 }, + { 14, 11, 185 }, { 145, 11, 119 }, { 5, 11, 212 }, { 12, 11, 35 }, + { 141, 11, 382 }, { 133, 0, 717 }, { 137, 0, 304 }, { 136, 0, 600 }, + { 133, 0, 654 }, { 6, 0, 273 }, { 10, 0, 188 }, { 13, 0, 377 }, + { 146, 0, 77 }, { 4, 10, 790 }, { 5, 10, 273 }, { 134, 10, 394 }, + { 132, 0, 543 }, { 135, 0, 410 }, { 11, 0, 98 }, { 11, 0, 524 }, + { 141, 0, 87 }, { 132, 0, 941 }, { 135, 11, 1175 }, { 4, 0, 250 }, + { 7, 0, 1612 }, { 11, 0, 186 }, { 12, 0, 133 }, { 6, 10, 127 }, + { 7, 10, 1511 }, { 8, 10, 613 }, { 12, 10, 495 }, { 12, 10, 586 }, + { 12, 10, 660 }, { 12, 10, 668 }, { 14, 10, 385 }, { 15, 10, 118 }, + { 17, 10, 20 }, { 146, 10, 98 }, { 6, 0, 1785 }, { 133, 11, 816 }, + { 134, 0, 1339 }, { 7, 0, 961 }, { 7, 0, 1085 }, { 7, 0, 1727 }, + { 8, 0, 462 }, { 6, 10, 230 }, { 135, 11, 1727 }, { 9, 0, 636 }, + { 135, 10, 1954 }, { 132, 0, 780 }, { 5, 11, 869 }, { 5, 11, 968 }, + { 6, 11, 1626 }, { 8, 11, 734 }, { 136, 11, 784 }, { 4, 11, 542 }, + { 6, 11, 1716 }, { 6, 11, 1727 }, { 7, 11, 1082 }, { 7, 11, 1545 }, + { 8, 11, 56 }, { 8, 11, 118 }, { 8, 11, 412 }, { 8, 11, 564 }, + { 9, 11, 888 }, { 9, 11, 908 }, { 10, 11, 50 }, { 10, 11, 423 }, + { 11, 11, 685 }, { 11, 11, 697 }, { 11, 11, 933 }, { 12, 11, 299 }, + { 13, 11, 126 }, { 13, 11, 136 }, { 13, 11, 170 }, { 141, 11, 190 }, + { 134, 11, 226 }, { 4, 11, 232 }, { 9, 11, 202 }, { 10, 11, 474 }, + { 140, 11, 433 }, { 137, 11, 500 }, { 5, 0, 529 }, { 136, 10, 68 }, + { 132, 10, 654 }, { 4, 10, 156 }, { 7, 10, 998 }, { 7, 10, 1045 }, + { 7, 10, 1860 }, { 9, 10, 48 }, { 9, 10, 692 }, { 11, 10, 419 }, + { 139, 10, 602 }, { 7, 0, 1276 }, { 8, 0, 474 }, { 9, 0, 652 }, + { 6, 11, 108 }, { 7, 11, 1003 }, { 7, 11, 1181 }, { 136, 11, 343 }, + { 7, 11, 1264 }, { 7, 11, 1678 }, { 11, 11, 945 }, { 12, 11, 341 }, + { 12, 11, 471 }, { 140, 11, 569 }, { 134, 11, 1712 }, { 5, 0, 948 }, + { 12, 0, 468 }, { 19, 0, 96 }, { 148, 0, 24 }, { 4, 11, 133 }, + { 7, 11, 711 }, { 7, 11, 1298 }, { 7, 11, 1585 }, { 135, 11, 1929 }, + { 6, 0, 753 }, { 140, 0, 657 }, { 139, 0, 941 }, { 6, 11, 99 }, + { 7, 11, 1808 }, { 145, 11, 57 }, { 6, 11, 574 }, { 7, 11, 428 }, + { 7, 11, 1250 }, { 10, 11, 669 }, { 11, 11, 485 }, { 11, 11, 840 }, + { 12, 11, 300 }, { 142, 11, 250 }, { 4, 0, 532 }, { 5, 0, 706 }, + { 135, 0, 662 }, { 5, 0, 837 }, { 6, 0, 1651 }, { 139, 0, 985 }, + { 7, 0, 1861 }, { 9, 10, 197 }, { 10, 10, 300 }, { 12, 10, 473 }, + { 13, 10, 90 }, { 141, 10, 405 }, { 137, 11, 252 }, { 6, 11, 323 }, + { 135, 11, 1564 }, { 4, 0, 330 }, { 4, 0, 863 }, { 7, 0, 933 }, + { 7, 0, 2012 }, { 8, 0, 292 }, { 7, 11, 461 }, { 8, 11, 775 }, + { 138, 11, 435 }, { 132, 10, 606 }, { 4, 11, 655 }, { 7, 11, 850 }, + { 17, 11, 75 }, { 146, 11, 137 }, { 135, 0, 767 }, { 7, 10, 1978 }, + { 136, 10, 676 }, { 132, 0, 641 }, { 135, 11, 1559 }, { 134, 0, 1233 }, + { 137, 0, 242 }, { 17, 0, 114 }, { 4, 10, 361 }, { 133, 10, 315 }, + { 137, 0, 883 }, { 132, 10, 461 }, { 138, 0, 274 }, { 134, 0, 2008 }, + { 134, 0, 1794 }, { 4, 0, 703 }, { 135, 0, 207 }, { 12, 0, 285 }, + { 132, 10, 472 }, { 132, 0, 571 }, { 5, 0, 873 }, { 5, 0, 960 }, + { 8, 0, 823 }, { 9, 0, 881 }, { 136, 11, 577 }, { 7, 0, 617 }, + { 10, 0, 498 }, { 11, 0, 501 }, { 12, 0, 16 }, { 140, 0, 150 }, + { 138, 10, 747 }, { 132, 0, 431 }, { 133, 10, 155 }, { 11, 0, 283 }, + { 11, 0, 567 }, { 7, 10, 163 }, { 8, 10, 319 }, { 9, 10, 402 }, + { 10, 10, 24 }, { 10, 10, 681 }, { 11, 10, 200 }, { 12, 10, 253 }, + { 12, 10, 410 }, { 142, 10, 219 }, { 4, 11, 413 }, { 5, 11, 677 }, + { 8, 11, 432 }, { 140, 11, 280 }, { 9, 0, 401 }, { 5, 10, 475 }, + { 7, 10, 1780 }, { 11, 10, 297 }, { 11, 10, 558 }, { 14, 10, 322 }, + { 147, 10, 76 }, { 6, 0, 781 }, { 9, 0, 134 }, { 10, 0, 2 }, + { 10, 0, 27 }, { 10, 0, 333 }, { 11, 0, 722 }, { 143, 0, 1 }, + { 5, 0, 33 }, { 6, 0, 470 }, { 139, 0, 424 }, { 135, 0, 2006 }, + { 12, 0, 783 }, { 135, 10, 1956 }, { 136, 0, 274 }, { 135, 0, 1882 }, + { 132, 0, 794 }, { 135, 0, 1848 }, { 5, 10, 944 }, { 134, 10, 1769 }, + { 6, 0, 47 }, { 7, 0, 90 }, { 7, 0, 664 }, { 7, 0, 830 }, + { 7, 0, 1380 }, { 7, 0, 2025 }, { 8, 0, 448 }, { 136, 0, 828 }, + { 132, 10, 144 }, { 134, 0, 1199 }, { 4, 11, 395 }, { 139, 11, 762 }, + { 135, 11, 1504 }, { 9, 0, 417 }, { 137, 0, 493 }, { 9, 11, 174 }, + { 10, 11, 164 }, { 11, 11, 440 }, { 11, 11, 841 }, { 143, 11, 98 }, + { 134, 11, 426 }, { 139, 11, 1002 }, { 134, 0, 295 }, { 134, 0, 816 }, + { 6, 10, 247 }, { 137, 10, 555 }, { 133, 0, 1019 }, { 4, 0, 620 }, + { 5, 11, 476 }, { 10, 10, 280 }, { 138, 10, 797 }, { 139, 0, 464 }, + { 5, 11, 76 }, { 6, 11, 458 }, { 6, 11, 497 }, { 7, 11, 764 }, + { 7, 11, 868 }, { 9, 11, 658 }, { 10, 11, 594 }, { 11, 11, 173 }, + { 11, 11, 566 }, { 12, 11, 20 }, { 12, 11, 338 }, { 141, 11, 200 }, + { 134, 0, 208 }, { 4, 11, 526 }, { 7, 11, 1029 }, { 135, 11, 1054 }, + { 132, 11, 636 }, { 6, 11, 233 }, { 7, 11, 660 }, { 7, 11, 1124 }, + { 17, 11, 31 }, { 19, 11, 22 }, { 151, 11, 14 }, { 10, 0, 442 }, + { 133, 10, 428 }, { 10, 0, 930 }, { 140, 0, 778 }, { 6, 0, 68 }, + { 7, 0, 448 }, { 7, 0, 1629 }, { 7, 0, 1769 }, { 7, 0, 1813 }, + { 8, 0, 442 }, { 8, 0, 516 }, { 9, 0, 710 }, { 10, 0, 282 }, + { 10, 0, 722 }, { 7, 10, 1717 }, { 138, 10, 546 }, { 134, 0, 1128 }, + { 11, 0, 844 }, { 12, 0, 104 }, { 140, 0, 625 }, { 4, 11, 432 }, + { 135, 11, 824 }, { 138, 10, 189 }, { 133, 0, 787 }, { 133, 10, 99 }, + { 4, 11, 279 }, { 7, 11, 301 }, { 137, 11, 362 }, { 8, 0, 491 }, + { 4, 10, 397 }, { 136, 10, 555 }, { 4, 11, 178 }, { 133, 11, 399 }, + { 134, 0, 711 }, { 144, 0, 9 }, { 4, 0, 403 }, { 5, 0, 441 }, + { 7, 0, 450 }, { 10, 0, 840 }, { 11, 0, 101 }, { 12, 0, 193 }, + { 141, 0, 430 }, { 135, 11, 1246 }, { 12, 10, 398 }, { 20, 10, 39 }, + { 21, 10, 11 }, { 150, 10, 41 }, { 4, 10, 485 }, { 7, 10, 353 }, + { 135, 10, 1523 }, { 6, 10, 366 }, { 7, 10, 1384 }, { 7, 10, 1601 }, + { 135, 11, 1912 }, { 7, 0, 396 }, { 10, 0, 160 }, { 135, 11, 396 }, + { 137, 10, 282 }, { 134, 11, 1692 }, { 4, 10, 157 }, { 5, 10, 471 }, + { 6, 11, 202 }, { 10, 11, 448 }, { 11, 11, 208 }, { 12, 11, 360 }, + { 17, 11, 117 }, { 17, 11, 118 }, { 18, 11, 27 }, { 148, 11, 67 }, + { 133, 0, 679 }, { 137, 0, 326 }, { 136, 10, 116 }, { 7, 11, 872 }, + { 10, 11, 516 }, { 139, 11, 167 }, { 132, 11, 224 }, { 5, 11, 546 }, + { 7, 11, 35 }, { 8, 11, 11 }, { 8, 11, 12 }, { 9, 11, 315 }, + { 9, 11, 533 }, { 10, 11, 802 }, { 11, 11, 166 }, { 12, 11, 525 }, + { 142, 11, 243 }, { 7, 0, 1128 }, { 135, 11, 1920 }, { 5, 11, 241 }, + { 8, 11, 242 }, { 9, 11, 451 }, { 10, 11, 667 }, { 11, 11, 598 }, + { 140, 11, 429 }, { 6, 0, 737 }, { 5, 10, 160 }, { 7, 10, 363 }, + { 7, 10, 589 }, { 10, 10, 170 }, { 141, 10, 55 }, { 135, 0, 1796 }, + { 142, 11, 254 }, { 4, 0, 574 }, { 7, 0, 350 }, { 7, 0, 1024 }, + { 8, 0, 338 }, { 9, 0, 677 }, { 138, 0, 808 }, { 134, 0, 1096 }, + { 137, 11, 516 }, { 7, 0, 405 }, { 10, 0, 491 }, { 4, 10, 108 }, + { 4, 11, 366 }, { 139, 10, 498 }, { 11, 11, 337 }, { 142, 11, 303 }, + { 134, 11, 1736 }, { 7, 0, 1081 }, { 140, 11, 364 }, { 7, 10, 1005 }, + { 140, 10, 609 }, { 7, 0, 1676 }, { 4, 10, 895 }, { 133, 10, 772 }, + { 135, 0, 2037 }, { 6, 0, 1207 }, { 11, 11, 916 }, { 142, 11, 419 }, + { 14, 11, 140 }, { 148, 11, 41 }, { 6, 11, 331 }, { 136, 11, 623 }, + { 9, 0, 944 }, { 9, 0, 969 }, { 9, 0, 1022 }, { 12, 0, 913 }, + { 12, 0, 936 }, { 15, 0, 177 }, { 15, 0, 193 }, { 4, 10, 926 }, + { 133, 10, 983 }, { 5, 0, 354 }, { 135, 11, 506 }, { 8, 0, 598 }, + { 9, 0, 664 }, { 138, 0, 441 }, { 4, 11, 640 }, { 133, 11, 513 }, + { 137, 0, 297 }, { 132, 10, 538 }, { 6, 10, 294 }, { 7, 10, 1267 }, + { 136, 10, 624 }, { 7, 0, 1772 }, { 7, 11, 1888 }, { 8, 11, 289 }, + { 11, 11, 45 }, { 12, 11, 278 }, { 140, 11, 537 }, { 135, 10, 1325 }, + { 138, 0, 751 }, { 141, 0, 37 }, { 134, 0, 1828 }, { 132, 10, 757 }, + { 132, 11, 394 }, { 6, 0, 257 }, { 135, 0, 1522 }, { 4, 0, 582 }, + { 9, 0, 191 }, { 135, 11, 1931 }, { 7, 11, 574 }, { 7, 11, 1719 }, + { 137, 11, 145 }, { 132, 11, 658 }, { 10, 0, 790 }, { 132, 11, 369 }, + { 9, 11, 781 }, { 10, 11, 144 }, { 11, 11, 385 }, { 13, 11, 161 }, + { 13, 11, 228 }, { 13, 11, 268 }, { 148, 11, 107 }, { 8, 0, 469 }, + { 10, 0, 47 }, { 136, 11, 374 }, { 6, 0, 306 }, { 7, 0, 1140 }, + { 7, 0, 1340 }, { 8, 0, 133 }, { 138, 0, 449 }, { 139, 0, 1011 }, + { 7, 10, 1875 }, { 139, 10, 124 }, { 4, 11, 344 }, { 6, 11, 498 }, + { 139, 11, 323 }, { 137, 0, 299 }, { 132, 0, 837 }, { 133, 11, 906 }, + { 5, 0, 329 }, { 8, 0, 260 }, { 138, 0, 10 }, { 134, 0, 1320 }, + { 4, 0, 657 }, { 146, 0, 158 }, { 135, 0, 1191 }, { 152, 0, 7 }, + { 6, 0, 1939 }, { 8, 0, 974 }, { 138, 0, 996 }, { 135, 0, 1665 }, + { 11, 11, 126 }, { 139, 11, 287 }, { 143, 0, 8 }, { 14, 11, 149 }, + { 14, 11, 399 }, { 143, 11, 57 }, { 5, 0, 66 }, { 7, 0, 1896 }, + { 136, 0, 288 }, { 7, 0, 175 }, { 10, 0, 494 }, { 5, 10, 150 }, + { 8, 10, 603 }, { 9, 10, 593 }, { 9, 10, 634 }, { 10, 10, 173 }, + { 11, 10, 462 }, { 11, 10, 515 }, { 13, 10, 216 }, { 13, 10, 288 }, + { 142, 10, 400 }, { 134, 0, 1643 }, { 136, 11, 21 }, { 4, 0, 21 }, + { 5, 0, 91 }, { 5, 0, 648 }, { 5, 0, 750 }, { 5, 0, 781 }, + { 6, 0, 54 }, { 6, 0, 112 }, { 6, 0, 402 }, { 6, 0, 1732 }, + { 7, 0, 315 }, { 7, 0, 749 }, { 7, 0, 1427 }, { 7, 0, 1900 }, + { 9, 0, 78 }, { 9, 0, 508 }, { 10, 0, 611 }, { 10, 0, 811 }, + { 11, 0, 510 }, { 11, 0, 728 }, { 13, 0, 36 }, { 14, 0, 39 }, + { 16, 0, 83 }, { 17, 0, 124 }, { 148, 0, 30 }, { 4, 0, 668 }, + { 136, 0, 570 }, { 10, 0, 322 }, { 10, 0, 719 }, { 139, 0, 407 }, + { 135, 11, 1381 }, { 136, 11, 193 }, { 12, 10, 108 }, { 141, 10, 291 }, + { 132, 11, 616 }, { 136, 11, 692 }, { 8, 0, 125 }, { 8, 0, 369 }, + { 8, 0, 524 }, { 10, 0, 486 }, { 11, 0, 13 }, { 11, 0, 381 }, + { 11, 0, 736 }, { 11, 0, 766 }, { 11, 0, 845 }, { 13, 0, 114 }, + { 13, 0, 292 }, { 142, 0, 47 }, { 134, 0, 1247 }, { 6, 0, 1684 }, + { 6, 0, 1731 }, { 7, 0, 356 }, { 8, 0, 54 }, { 8, 0, 221 }, + { 9, 0, 225 }, { 9, 0, 356 }, { 10, 0, 77 }, { 10, 0, 446 }, + { 10, 0, 731 }, { 12, 0, 404 }, { 141, 0, 491 }, { 135, 10, 1777 }, + { 4, 11, 305 }, { 4, 10, 493 }, { 144, 10, 55 }, { 4, 0, 951 }, + { 6, 0, 1809 }, { 6, 0, 1849 }, { 8, 0, 846 }, { 8, 0, 866 }, + { 8, 0, 899 }, { 10, 0, 896 }, { 12, 0, 694 }, { 142, 0, 468 }, + { 5, 11, 214 }, { 7, 11, 603 }, { 8, 11, 611 }, { 9, 11, 686 }, + { 10, 11, 88 }, { 11, 11, 459 }, { 11, 11, 496 }, { 12, 11, 463 }, + { 12, 11, 590 }, { 13, 11, 0 }, { 142, 11, 214 }, { 132, 0, 411 }, + { 4, 0, 80 }, { 133, 0, 44 }, { 140, 11, 74 }, { 143, 0, 31 }, + { 7, 0, 669 }, { 6, 10, 568 }, { 7, 10, 1804 }, { 8, 10, 362 }, + { 8, 10, 410 }, { 8, 10, 830 }, { 9, 10, 514 }, { 11, 10, 649 }, + { 142, 10, 157 }, { 7, 0, 673 }, { 134, 11, 1703 }, { 132, 10, 625 }, + { 134, 0, 1303 }, { 5, 0, 299 }, { 135, 0, 1083 }, { 138, 0, 704 }, + { 6, 0, 275 }, { 7, 0, 408 }, { 6, 10, 158 }, { 7, 10, 129 }, + { 7, 10, 181 }, { 8, 10, 276 }, { 8, 10, 377 }, { 10, 10, 523 }, + { 11, 10, 816 }, { 12, 10, 455 }, { 13, 10, 303 }, { 142, 10, 135 }, + { 4, 0, 219 }, { 7, 0, 367 }, { 7, 0, 1713 }, { 7, 0, 1761 }, + { 9, 0, 86 }, { 9, 0, 537 }, { 10, 0, 165 }, { 12, 0, 219 }, + { 140, 0, 561 }, { 8, 0, 216 }, { 4, 10, 1 }, { 4, 11, 737 }, + { 6, 11, 317 }, { 7, 10, 1143 }, { 7, 10, 1463 }, { 9, 10, 207 }, + { 9, 10, 390 }, { 9, 10, 467 }, { 10, 11, 98 }, { 11, 11, 294 }, + { 11, 10, 836 }, { 12, 11, 60 }, { 12, 11, 437 }, { 13, 11, 64 }, + { 13, 11, 380 }, { 142, 11, 430 }, { 6, 11, 1758 }, { 8, 11, 520 }, + { 9, 11, 345 }, { 9, 11, 403 }, { 142, 11, 350 }, { 5, 11, 47 }, + { 10, 11, 242 }, { 138, 11, 579 }, { 5, 11, 139 }, { 7, 11, 1168 }, + { 138, 11, 539 }, { 135, 0, 1319 }, { 4, 10, 295 }, { 4, 10, 723 }, + { 5, 10, 895 }, { 7, 10, 1031 }, { 8, 10, 199 }, { 8, 10, 340 }, + { 9, 10, 153 }, { 9, 10, 215 }, { 10, 10, 21 }, { 10, 10, 59 }, + { 10, 10, 80 }, { 10, 10, 224 }, { 10, 10, 838 }, { 11, 10, 229 }, + { 11, 10, 652 }, { 12, 10, 192 }, { 13, 10, 146 }, { 142, 10, 91 }, + { 140, 0, 428 }, { 137, 10, 51 }, { 133, 0, 514 }, { 5, 10, 309 }, + { 140, 10, 211 }, { 6, 0, 1010 }, { 5, 10, 125 }, { 8, 10, 77 }, + { 138, 10, 15 }, { 4, 0, 55 }, { 5, 0, 301 }, { 6, 0, 571 }, + { 142, 0, 49 }, { 146, 0, 102 }, { 136, 11, 370 }, { 4, 11, 107 }, + { 7, 11, 613 }, { 8, 11, 358 }, { 8, 11, 439 }, { 8, 11, 504 }, + { 9, 11, 501 }, { 10, 11, 383 }, { 139, 11, 477 }, { 132, 11, 229 }, + { 133, 0, 364 }, { 133, 10, 439 }, { 4, 11, 903 }, { 135, 11, 1816 }, + { 11, 0, 379 }, { 140, 10, 76 }, { 4, 0, 76 }, { 4, 0, 971 }, + { 7, 0, 1550 }, { 9, 0, 306 }, { 9, 0, 430 }, { 9, 0, 663 }, + { 10, 0, 683 }, { 10, 0, 921 }, { 11, 0, 427 }, { 11, 0, 753 }, + { 12, 0, 334 }, { 12, 0, 442 }, { 14, 0, 258 }, { 14, 0, 366 }, + { 143, 0, 131 }, { 137, 0, 52 }, { 4, 11, 47 }, { 6, 11, 373 }, + { 7, 11, 452 }, { 7, 11, 543 }, { 7, 11, 1714 }, { 7, 11, 1856 }, + { 9, 11, 6 }, { 11, 11, 257 }, { 139, 11, 391 }, { 4, 10, 8 }, + { 7, 10, 1152 }, { 7, 10, 1153 }, { 7, 10, 1715 }, { 9, 10, 374 }, + { 10, 10, 478 }, { 139, 10, 648 }, { 4, 11, 785 }, { 133, 11, 368 }, + { 135, 10, 1099 }, { 135, 11, 860 }, { 5, 11, 980 }, { 134, 11, 1754 }, + { 134, 0, 1258 }, { 6, 0, 1058 }, { 6, 0, 1359 }, { 7, 11, 536 }, + { 7, 11, 1331 }, { 136, 11, 143 }, { 4, 0, 656 }, { 135, 0, 779 }, + { 136, 10, 87 }, { 5, 11, 19 }, { 6, 11, 533 }, { 146, 11, 126 }, + { 7, 0, 144 }, { 138, 10, 438 }, { 5, 11, 395 }, { 5, 11, 951 }, + { 134, 11, 1776 }, { 135, 0, 1373 }, { 7, 0, 554 }, { 7, 0, 605 }, + { 141, 0, 10 }, { 4, 10, 69 }, { 5, 10, 122 }, { 9, 10, 656 }, + { 138, 10, 464 }, { 5, 10, 849 }, { 134, 10, 1633 }, { 5, 0, 838 }, + { 5, 0, 841 }, { 134, 0, 1649 }, { 133, 0, 1012 }, { 139, 10, 499 }, + { 7, 10, 476 }, { 7, 10, 1592 }, { 138, 10, 87 }, { 6, 0, 251 }, + { 7, 0, 365 }, { 7, 0, 1357 }, { 7, 0, 1497 }, { 8, 0, 154 }, + { 141, 0, 281 }, { 132, 11, 441 }, { 132, 11, 695 }, { 7, 11, 497 }, + { 9, 11, 387 }, { 147, 11, 81 }, { 133, 0, 340 }, { 14, 10, 283 }, + { 142, 11, 283 }, { 134, 0, 810 }, { 135, 11, 1894 }, { 139, 0, 495 }, + { 5, 11, 284 }, { 6, 11, 49 }, { 6, 11, 350 }, { 7, 11, 1 }, + { 7, 11, 377 }, { 7, 11, 1693 }, { 8, 11, 18 }, { 8, 11, 678 }, + { 9, 11, 161 }, { 9, 11, 585 }, { 9, 11, 671 }, { 9, 11, 839 }, + { 11, 11, 912 }, { 141, 11, 427 }, { 5, 10, 859 }, { 7, 10, 1160 }, + { 8, 10, 107 }, { 9, 10, 291 }, { 9, 10, 439 }, { 10, 10, 663 }, + { 11, 10, 609 }, { 140, 10, 197 }, { 8, 0, 261 }, { 9, 0, 144 }, + { 9, 0, 466 }, { 10, 0, 370 }, { 12, 0, 470 }, { 13, 0, 144 }, + { 142, 0, 348 }, { 137, 0, 897 }, { 6, 0, 248 }, { 9, 0, 546 }, + { 10, 0, 535 }, { 11, 0, 681 }, { 141, 0, 135 }, { 4, 0, 358 }, + { 135, 0, 1496 }, { 134, 0, 567 }, { 136, 0, 445 }, { 4, 10, 117 }, + { 6, 10, 372 }, { 7, 10, 1905 }, { 142, 10, 323 }, { 4, 10, 722 }, + { 139, 10, 471 }, { 6, 0, 697 }, { 134, 0, 996 }, { 7, 11, 2007 }, + { 9, 11, 101 }, { 9, 11, 450 }, { 10, 11, 66 }, { 10, 11, 842 }, + { 11, 11, 536 }, { 140, 11, 587 }, { 132, 0, 577 }, { 134, 0, 1336 }, + { 9, 10, 5 }, { 12, 10, 216 }, { 12, 10, 294 }, { 12, 10, 298 }, + { 12, 10, 400 }, { 12, 10, 518 }, { 13, 10, 229 }, { 143, 10, 139 }, + { 6, 0, 174 }, { 138, 0, 917 }, { 134, 10, 1774 }, { 5, 10, 12 }, + { 7, 10, 375 }, { 9, 10, 88 }, { 9, 10, 438 }, { 11, 11, 62 }, + { 139, 10, 270 }, { 134, 11, 1766 }, { 6, 11, 0 }, { 7, 11, 84 }, + { 7, 10, 816 }, { 7, 10, 1241 }, { 9, 10, 283 }, { 9, 10, 520 }, + { 10, 10, 213 }, { 10, 10, 307 }, { 10, 10, 463 }, { 10, 10, 671 }, + { 10, 10, 746 }, { 11, 10, 401 }, { 11, 10, 794 }, { 11, 11, 895 }, + { 12, 10, 517 }, { 17, 11, 11 }, { 18, 10, 107 }, { 147, 10, 115 }, + { 5, 0, 878 }, { 133, 0, 972 }, { 6, 11, 1665 }, { 7, 11, 256 }, + { 7, 11, 1388 }, { 138, 11, 499 }, { 4, 10, 258 }, { 136, 10, 639 }, + { 4, 11, 22 }, { 5, 11, 10 }, { 6, 10, 22 }, { 7, 11, 848 }, + { 7, 10, 903 }, { 7, 10, 1963 }, { 8, 11, 97 }, { 138, 10, 577 }, + { 5, 10, 681 }, { 136, 10, 782 }, { 133, 11, 481 }, { 132, 0, 351 }, + { 4, 10, 664 }, { 5, 10, 804 }, { 139, 10, 1013 }, { 6, 11, 134 }, + { 7, 11, 437 }, { 7, 11, 959 }, { 9, 11, 37 }, { 14, 11, 285 }, + { 14, 11, 371 }, { 144, 11, 60 }, { 7, 11, 486 }, { 8, 11, 155 }, + { 11, 11, 93 }, { 140, 11, 164 }, { 132, 0, 286 }, { 7, 0, 438 }, + { 7, 0, 627 }, { 7, 0, 1516 }, { 8, 0, 40 }, { 9, 0, 56 }, + { 9, 0, 294 }, { 10, 0, 30 }, { 11, 0, 969 }, { 11, 0, 995 }, + { 146, 0, 148 }, { 5, 11, 591 }, { 135, 11, 337 }, { 134, 0, 1950 }, + { 133, 10, 32 }, { 138, 11, 500 }, { 5, 11, 380 }, { 5, 11, 650 }, + { 136, 11, 310 }, { 4, 11, 364 }, { 7, 11, 1156 }, { 7, 11, 1187 }, + { 137, 11, 409 }, { 4, 0, 738 }, { 134, 11, 482 }, { 4, 11, 781 }, + { 6, 11, 487 }, { 7, 11, 926 }, { 8, 11, 263 }, { 139, 11, 500 }, + { 135, 11, 418 }, { 6, 0, 2047 }, { 10, 0, 969 }, { 4, 10, 289 }, + { 7, 10, 629 }, { 7, 10, 1698 }, { 7, 10, 1711 }, { 140, 10, 215 }, + { 6, 10, 450 }, { 136, 10, 109 }, { 134, 0, 818 }, { 136, 10, 705 }, + { 133, 0, 866 }, { 4, 11, 94 }, { 135, 11, 1265 }, { 132, 11, 417 }, + { 134, 0, 1467 }, { 135, 10, 1238 }, { 4, 0, 972 }, { 6, 0, 1851 }, + { 134, 0, 1857 }, { 134, 0, 355 }, { 133, 0, 116 }, { 132, 0, 457 }, + { 135, 11, 1411 }, { 4, 11, 408 }, { 4, 11, 741 }, { 135, 11, 500 }, + { 134, 10, 26 }, { 142, 11, 137 }, { 5, 0, 527 }, { 6, 0, 189 }, + { 7, 0, 859 }, { 136, 0, 267 }, { 11, 0, 104 }, { 11, 0, 554 }, + { 15, 0, 60 }, { 143, 0, 125 }, { 134, 0, 1613 }, { 4, 10, 414 }, + { 5, 10, 467 }, { 9, 10, 654 }, { 10, 10, 451 }, { 12, 10, 59 }, + { 141, 10, 375 }, { 135, 10, 17 }, { 134, 0, 116 }, { 135, 11, 541 }, + { 135, 10, 955 }, { 6, 11, 73 }, { 135, 11, 177 }, { 133, 11, 576 }, + { 134, 0, 886 }, { 133, 0, 487 }, { 4, 0, 86 }, { 5, 0, 667 }, + { 5, 0, 753 }, { 6, 0, 316 }, { 6, 0, 455 }, { 135, 0, 946 }, + { 142, 11, 231 }, { 150, 0, 45 }, { 134, 0, 863 }, { 134, 0, 1953 }, + { 6, 10, 280 }, { 10, 10, 502 }, { 11, 10, 344 }, { 140, 10, 38 }, + { 4, 0, 79 }, { 7, 0, 1773 }, { 10, 0, 450 }, { 11, 0, 589 }, + { 13, 0, 332 }, { 13, 0, 493 }, { 14, 0, 183 }, { 14, 0, 334 }, + { 14, 0, 362 }, { 14, 0, 368 }, { 14, 0, 376 }, { 14, 0, 379 }, + { 19, 0, 90 }, { 19, 0, 103 }, { 19, 0, 127 }, { 148, 0, 90 }, + { 5, 10, 45 }, { 7, 10, 1161 }, { 11, 10, 448 }, { 11, 10, 880 }, + { 13, 10, 139 }, { 13, 10, 407 }, { 15, 10, 16 }, { 17, 10, 95 }, + { 18, 10, 66 }, { 18, 10, 88 }, { 18, 10, 123 }, { 149, 10, 7 }, + { 136, 10, 777 }, { 4, 10, 410 }, { 135, 10, 521 }, { 135, 10, 1778 }, + { 135, 11, 538 }, { 142, 0, 381 }, { 133, 11, 413 }, { 134, 0, 1142 }, + { 6, 0, 1189 }, { 136, 11, 495 }, { 5, 0, 663 }, { 6, 0, 1962 }, + { 134, 0, 2003 }, { 7, 11, 54 }, { 8, 11, 312 }, { 10, 11, 191 }, + { 10, 11, 614 }, { 140, 11, 567 }, { 132, 10, 436 }, { 133, 0, 846 }, + { 10, 0, 528 }, { 11, 0, 504 }, { 7, 10, 1587 }, { 135, 10, 1707 }, + { 5, 0, 378 }, { 8, 0, 465 }, { 9, 0, 286 }, { 10, 0, 185 }, + { 10, 0, 562 }, { 10, 0, 635 }, { 11, 0, 31 }, { 11, 0, 393 }, + { 13, 0, 312 }, { 18, 0, 65 }, { 18, 0, 96 }, { 147, 0, 89 }, + { 7, 0, 899 }, { 14, 0, 325 }, { 6, 11, 468 }, { 7, 11, 567 }, + { 7, 11, 1478 }, { 8, 11, 530 }, { 142, 11, 290 }, { 7, 0, 1880 }, + { 9, 0, 680 }, { 139, 0, 798 }, { 134, 0, 1770 }, { 132, 0, 648 }, + { 150, 11, 35 }, { 5, 0, 945 }, { 6, 0, 1656 }, { 6, 0, 1787 }, + { 7, 0, 167 }, { 8, 0, 824 }, { 9, 0, 391 }, { 10, 0, 375 }, + { 139, 0, 185 }, { 6, 11, 484 }, { 135, 11, 822 }, { 134, 0, 2046 }, + { 7, 0, 1645 }, { 8, 0, 352 }, { 137, 0, 249 }, { 132, 0, 152 }, + { 6, 0, 611 }, { 135, 0, 1733 }, { 6, 11, 1724 }, { 135, 11, 2022 }, + { 133, 0, 1006 }, { 141, 11, 96 }, { 5, 0, 420 }, { 135, 0, 1449 }, + { 146, 11, 149 }, { 135, 0, 832 }, { 135, 10, 663 }, { 133, 0, 351 }, + { 5, 0, 40 }, { 7, 0, 598 }, { 7, 0, 1638 }, { 8, 0, 78 }, + { 9, 0, 166 }, { 9, 0, 640 }, { 9, 0, 685 }, { 9, 0, 773 }, + { 11, 0, 215 }, { 13, 0, 65 }, { 14, 0, 172 }, { 14, 0, 317 }, + { 145, 0, 6 }, { 8, 0, 60 }, { 9, 0, 343 }, { 139, 0, 769 }, + { 134, 0, 1354 }, { 132, 0, 724 }, { 137, 0, 745 }, { 132, 11, 474 }, + { 7, 0, 1951 }, { 8, 0, 765 }, { 8, 0, 772 }, { 140, 0, 671 }, + { 7, 0, 108 }, { 8, 0, 219 }, { 8, 0, 388 }, { 9, 0, 775 }, + { 11, 0, 275 }, { 140, 0, 464 }, { 137, 0, 639 }, { 135, 10, 503 }, + { 133, 11, 366 }, { 5, 0, 15 }, { 6, 0, 56 }, { 7, 0, 1758 }, + { 8, 0, 500 }, { 9, 0, 730 }, { 11, 0, 331 }, { 13, 0, 150 }, + { 14, 0, 282 }, { 5, 11, 305 }, { 9, 11, 560 }, { 141, 11, 208 }, + { 4, 10, 113 }, { 5, 10, 163 }, { 5, 10, 735 }, { 7, 10, 1009 }, + { 9, 10, 9 }, { 9, 10, 771 }, { 12, 10, 90 }, { 13, 10, 138 }, + { 13, 10, 410 }, { 143, 10, 128 }, { 4, 10, 324 }, { 138, 10, 104 }, + { 135, 11, 466 }, { 142, 11, 27 }, { 134, 0, 1886 }, { 5, 0, 205 }, + { 6, 0, 438 }, { 9, 0, 711 }, { 4, 11, 480 }, { 6, 11, 167 }, + { 6, 11, 302 }, { 6, 11, 1642 }, { 7, 11, 130 }, { 7, 11, 656 }, + { 7, 11, 837 }, { 7, 11, 1547 }, { 7, 11, 1657 }, { 8, 11, 429 }, + { 9, 11, 228 }, { 10, 11, 643 }, { 13, 11, 289 }, { 13, 11, 343 }, + { 147, 11, 101 }, { 134, 0, 865 }, { 6, 0, 2025 }, { 136, 0, 965 }, + { 7, 11, 278 }, { 10, 11, 739 }, { 11, 11, 708 }, { 141, 11, 348 }, + { 133, 0, 534 }, { 135, 11, 1922 }, { 137, 0, 691 }, { 4, 10, 935 }, + { 133, 10, 823 }, { 6, 0, 443 }, { 9, 0, 237 }, { 9, 0, 571 }, + { 9, 0, 695 }, { 10, 0, 139 }, { 11, 0, 715 }, { 12, 0, 417 }, + { 141, 0, 421 }, { 5, 10, 269 }, { 7, 10, 434 }, { 7, 10, 891 }, + { 8, 10, 339 }, { 9, 10, 702 }, { 11, 10, 594 }, { 11, 10, 718 }, + { 145, 10, 100 }, { 6, 0, 1555 }, { 7, 0, 878 }, { 9, 10, 485 }, + { 141, 10, 264 }, { 134, 10, 1713 }, { 7, 10, 1810 }, { 11, 10, 866 }, + { 12, 10, 103 }, { 141, 10, 495 }, { 135, 10, 900 }, { 6, 0, 1410 }, + { 9, 11, 316 }, { 139, 11, 256 }, { 4, 0, 995 }, { 135, 0, 1033 }, + { 132, 0, 578 }, { 10, 0, 881 }, { 12, 0, 740 }, { 12, 0, 743 }, + { 140, 0, 759 }, { 132, 0, 822 }, { 133, 0, 923 }, { 142, 10, 143 }, + { 135, 11, 1696 }, { 6, 11, 363 }, { 7, 11, 1955 }, { 136, 11, 725 }, + { 132, 0, 924 }, { 133, 0, 665 }, { 135, 10, 2029 }, { 135, 0, 1901 }, + { 4, 0, 265 }, { 6, 0, 1092 }, { 6, 0, 1417 }, { 7, 0, 807 }, + { 135, 0, 950 }, { 5, 0, 93 }, { 12, 0, 267 }, { 141, 0, 498 }, + { 135, 0, 1451 }, { 5, 11, 813 }, { 135, 11, 2046 }, { 5, 10, 625 }, + { 135, 10, 1617 }, { 135, 0, 747 }, { 6, 0, 788 }, { 137, 0, 828 }, + { 7, 0, 184 }, { 11, 0, 307 }, { 11, 0, 400 }, { 15, 0, 130 }, + { 5, 11, 712 }, { 7, 11, 1855 }, { 8, 10, 425 }, { 8, 10, 693 }, + { 9, 10, 720 }, { 10, 10, 380 }, { 10, 10, 638 }, { 11, 11, 17 }, + { 11, 10, 473 }, { 12, 10, 61 }, { 13, 11, 321 }, { 144, 11, 67 }, + { 135, 0, 198 }, { 6, 11, 320 }, { 7, 11, 781 }, { 7, 11, 1921 }, + { 9, 11, 55 }, { 10, 11, 186 }, { 10, 11, 273 }, { 10, 11, 664 }, + { 10, 11, 801 }, { 11, 11, 996 }, { 11, 11, 997 }, { 13, 11, 157 }, + { 142, 11, 170 }, { 136, 11, 271 }, { 135, 0, 994 }, { 7, 11, 103 }, + { 7, 11, 863 }, { 11, 11, 184 }, { 14, 11, 299 }, { 145, 11, 62 }, + { 11, 10, 551 }, { 142, 10, 159 }, { 5, 0, 233 }, { 5, 0, 320 }, + { 6, 0, 140 }, { 8, 0, 295 }, { 8, 0, 615 }, { 136, 11, 615 }, + { 133, 0, 978 }, { 4, 0, 905 }, { 6, 0, 1701 }, { 137, 0, 843 }, + { 132, 10, 168 }, { 4, 0, 974 }, { 8, 0, 850 }, { 12, 0, 709 }, + { 12, 0, 768 }, { 140, 0, 786 }, { 135, 10, 91 }, { 152, 0, 6 }, + { 138, 10, 532 }, { 135, 10, 1884 }, { 132, 0, 509 }, { 6, 0, 1307 }, + { 135, 0, 273 }, { 5, 11, 77 }, { 7, 11, 1455 }, { 10, 11, 843 }, + { 19, 11, 73 }, { 150, 11, 5 }, { 132, 11, 458 }, { 135, 11, 1420 }, + { 6, 11, 109 }, { 138, 11, 382 }, { 6, 0, 201 }, { 6, 11, 330 }, + { 7, 10, 70 }, { 7, 11, 1084 }, { 10, 10, 240 }, { 11, 11, 142 }, + { 147, 10, 93 }, { 7, 0, 1041 }, { 140, 11, 328 }, { 133, 11, 354 }, + { 134, 0, 1040 }, { 133, 0, 693 }, { 134, 0, 774 }, { 139, 0, 234 }, + { 132, 0, 336 }, { 7, 0, 1399 }, { 139, 10, 392 }, { 20, 0, 22 }, + { 148, 11, 22 }, { 5, 0, 802 }, { 7, 0, 2021 }, { 136, 0, 805 }, + { 5, 0, 167 }, { 5, 0, 899 }, { 6, 0, 410 }, { 137, 0, 777 }, + { 137, 0, 789 }, { 134, 0, 1705 }, { 7, 10, 655 }, { 135, 10, 1844 }, + { 4, 10, 145 }, { 6, 10, 176 }, { 7, 10, 395 }, { 137, 10, 562 }, + { 132, 10, 501 }, { 135, 0, 10 }, { 5, 0, 11 }, { 6, 0, 117 }, + { 6, 0, 485 }, { 7, 0, 1133 }, { 9, 0, 582 }, { 9, 0, 594 }, + { 10, 0, 82 }, { 11, 0, 21 }, { 11, 0, 818 }, { 12, 0, 535 }, + { 13, 0, 86 }, { 20, 0, 91 }, { 23, 0, 13 }, { 134, 10, 509 }, + { 4, 0, 264 }, { 7, 0, 1067 }, { 8, 0, 204 }, { 8, 0, 385 }, + { 139, 0, 953 }, { 139, 11, 737 }, { 138, 0, 56 }, { 134, 0, 1917 }, + { 133, 0, 470 }, { 10, 11, 657 }, { 14, 11, 297 }, { 142, 11, 361 }, + { 135, 11, 412 }, { 7, 0, 1198 }, { 7, 11, 1198 }, { 8, 11, 556 }, + { 14, 11, 123 }, { 14, 11, 192 }, { 143, 11, 27 }, { 7, 11, 1985 }, + { 14, 11, 146 }, { 15, 11, 42 }, { 16, 11, 23 }, { 17, 11, 86 }, + { 146, 11, 17 }, { 11, 0, 1015 }, { 136, 11, 122 }, { 4, 10, 114 }, + { 9, 10, 492 }, { 13, 10, 462 }, { 142, 10, 215 }, { 4, 10, 77 }, + { 5, 10, 361 }, { 6, 10, 139 }, { 6, 10, 401 }, { 6, 10, 404 }, + { 7, 10, 413 }, { 7, 10, 715 }, { 7, 10, 1716 }, { 11, 10, 279 }, + { 12, 10, 179 }, { 12, 10, 258 }, { 13, 10, 244 }, { 142, 10, 358 }, + { 134, 10, 1717 }, { 7, 10, 1061 }, { 8, 10, 82 }, { 11, 10, 250 }, + { 12, 10, 420 }, { 141, 10, 184 }, { 133, 0, 715 }, { 135, 10, 724 }, + { 9, 0, 919 }, { 9, 0, 922 }, { 9, 0, 927 }, { 9, 0, 933 }, + { 9, 0, 962 }, { 9, 0, 1000 }, { 9, 0, 1002 }, { 9, 0, 1021 }, + { 12, 0, 890 }, { 12, 0, 907 }, { 12, 0, 930 }, { 15, 0, 207 }, + { 15, 0, 228 }, { 15, 0, 238 }, { 149, 0, 61 }, { 8, 0, 794 }, + { 9, 0, 400 }, { 10, 0, 298 }, { 142, 0, 228 }, { 5, 11, 430 }, + { 5, 11, 932 }, { 6, 11, 131 }, { 7, 11, 417 }, { 9, 11, 522 }, + { 11, 11, 314 }, { 141, 11, 390 }, { 132, 0, 867 }, { 8, 0, 724 }, + { 132, 11, 507 }, { 137, 11, 261 }, { 4, 11, 343 }, { 133, 11, 511 }, + { 6, 0, 190 }, { 7, 0, 768 }, { 135, 0, 1170 }, { 6, 10, 513 }, + { 135, 10, 1052 }, { 7, 11, 455 }, { 138, 11, 591 }, { 134, 0, 1066 }, + { 137, 10, 899 }, { 14, 0, 67 }, { 147, 0, 60 }, { 4, 0, 948 }, + { 18, 0, 174 }, { 146, 0, 176 }, { 135, 0, 1023 }, { 7, 10, 1417 }, + { 12, 10, 382 }, { 17, 10, 48 }, { 152, 10, 12 }, { 134, 11, 575 }, + { 132, 0, 764 }, { 6, 10, 545 }, { 7, 10, 565 }, { 7, 10, 1669 }, + { 10, 10, 114 }, { 11, 10, 642 }, { 140, 10, 618 }, { 6, 0, 137 }, + { 9, 0, 75 }, { 9, 0, 253 }, { 10, 0, 194 }, { 138, 0, 444 }, + { 4, 0, 756 }, { 133, 10, 5 }, { 8, 0, 1008 }, { 135, 10, 192 }, + { 132, 0, 842 }, { 11, 0, 643 }, { 12, 0, 115 }, { 136, 10, 763 }, + { 139, 0, 67 }, { 133, 10, 759 }, { 4, 0, 821 }, { 5, 0, 760 }, + { 7, 0, 542 }, { 8, 0, 135 }, { 8, 0, 496 }, { 135, 11, 580 }, + { 7, 10, 370 }, { 7, 10, 1007 }, { 7, 10, 1177 }, { 135, 10, 1565 }, + { 135, 10, 1237 }, { 140, 0, 736 }, { 7, 0, 319 }, { 7, 0, 355 }, + { 7, 0, 763 }, { 10, 0, 389 }, { 145, 0, 43 }, { 8, 11, 333 }, + { 138, 11, 182 }, { 4, 10, 87 }, { 5, 10, 250 }, { 141, 10, 298 }, + { 138, 0, 786 }, { 134, 0, 2044 }, { 8, 11, 330 }, { 140, 11, 477 }, + { 135, 11, 1338 }, { 132, 11, 125 }, { 134, 0, 1030 }, { 134, 0, 1083 }, + { 132, 11, 721 }, { 135, 10, 814 }, { 7, 11, 776 }, { 8, 11, 145 }, + { 147, 11, 56 }, { 134, 0, 1226 }, { 4, 10, 57 }, { 7, 10, 1195 }, + { 7, 10, 1438 }, { 7, 10, 1548 }, { 7, 10, 1835 }, { 7, 10, 1904 }, + { 9, 10, 757 }, { 10, 10, 604 }, { 139, 10, 519 }, { 7, 11, 792 }, + { 8, 11, 147 }, { 10, 11, 821 }, { 139, 11, 1021 }, { 137, 11, 797 }, + { 4, 0, 58 }, { 5, 0, 286 }, { 6, 0, 319 }, { 7, 0, 402 }, + { 7, 0, 1254 }, { 7, 0, 1903 }, { 8, 0, 356 }, { 140, 0, 408 }, + { 4, 0, 389 }, { 4, 0, 815 }, { 9, 0, 181 }, { 9, 0, 255 }, + { 10, 0, 8 }, { 10, 0, 29 }, { 10, 0, 816 }, { 11, 0, 311 }, + { 11, 0, 561 }, { 12, 0, 67 }, { 141, 0, 181 }, { 7, 11, 1472 }, + { 135, 11, 1554 }, { 7, 11, 1071 }, { 7, 11, 1541 }, { 7, 11, 1767 }, + { 7, 11, 1806 }, { 7, 11, 1999 }, { 9, 11, 248 }, { 10, 11, 400 }, + { 11, 11, 162 }, { 11, 11, 178 }, { 11, 11, 242 }, { 12, 11, 605 }, + { 15, 11, 26 }, { 144, 11, 44 }, { 5, 11, 168 }, { 5, 11, 930 }, + { 8, 11, 74 }, { 9, 11, 623 }, { 12, 11, 500 }, { 12, 11, 579 }, + { 13, 11, 41 }, { 143, 11, 93 }, { 6, 11, 220 }, { 7, 11, 1101 }, + { 141, 11, 105 }, { 5, 0, 474 }, { 7, 0, 507 }, { 4, 10, 209 }, + { 7, 11, 507 }, { 135, 10, 902 }, { 132, 0, 427 }, { 6, 0, 413 }, + { 7, 10, 335 }, { 7, 10, 1437 }, { 7, 10, 1668 }, { 8, 10, 553 }, + { 8, 10, 652 }, { 8, 10, 656 }, { 9, 10, 558 }, { 11, 10, 743 }, + { 149, 10, 18 }, { 132, 0, 730 }, { 6, 11, 19 }, { 7, 11, 1413 }, + { 139, 11, 428 }, { 133, 0, 373 }, { 132, 10, 559 }, { 7, 11, 96 }, + { 8, 11, 401 }, { 137, 11, 896 }, { 7, 0, 799 }, { 7, 0, 1972 }, + { 5, 10, 1017 }, { 138, 10, 511 }, { 135, 0, 1793 }, { 7, 11, 1961 }, + { 7, 11, 1965 }, { 8, 11, 702 }, { 136, 11, 750 }, { 8, 11, 150 }, + { 8, 11, 737 }, { 140, 11, 366 }, { 132, 0, 322 }, { 133, 10, 709 }, + { 8, 11, 800 }, { 9, 11, 148 }, { 9, 11, 872 }, { 9, 11, 890 }, + { 11, 11, 309 }, { 11, 11, 1001 }, { 13, 11, 267 }, { 141, 11, 323 }, + { 134, 10, 1745 }, { 7, 0, 290 }, { 136, 10, 206 }, { 7, 0, 1651 }, + { 145, 0, 89 }, { 139, 0, 2 }, { 132, 0, 672 }, { 6, 0, 1860 }, + { 8, 0, 905 }, { 10, 0, 844 }, { 10, 0, 846 }, { 10, 0, 858 }, + { 12, 0, 699 }, { 12, 0, 746 }, { 140, 0, 772 }, { 135, 11, 424 }, + { 133, 11, 547 }, { 133, 0, 737 }, { 5, 11, 490 }, { 6, 11, 615 }, + { 6, 11, 620 }, { 135, 11, 683 }, { 6, 0, 746 }, { 134, 0, 1612 }, + { 132, 10, 776 }, { 9, 11, 385 }, { 149, 11, 17 }, { 133, 0, 145 }, + { 135, 10, 1272 }, { 7, 0, 884 }, { 140, 0, 124 }, { 4, 0, 387 }, + { 135, 0, 1288 }, { 5, 11, 133 }, { 136, 10, 406 }, { 136, 11, 187 }, + { 6, 0, 679 }, { 8, 11, 8 }, { 138, 11, 0 }, { 135, 0, 550 }, + { 135, 11, 798 }, { 136, 11, 685 }, { 7, 11, 1086 }, { 145, 11, 46 }, + { 8, 10, 175 }, { 10, 10, 168 }, { 138, 10, 573 }, { 135, 0, 1305 }, + { 4, 0, 576 }, { 135, 0, 1263 }, { 6, 0, 686 }, { 134, 0, 1563 }, + { 134, 0, 607 }, { 5, 0, 919 }, { 134, 0, 1673 }, { 148, 0, 37 }, + { 8, 11, 774 }, { 10, 11, 670 }, { 140, 11, 51 }, { 133, 10, 784 }, + { 139, 10, 882 }, { 4, 0, 82 }, { 5, 0, 333 }, { 5, 0, 904 }, + { 6, 0, 207 }, { 7, 0, 325 }, { 7, 0, 1726 }, { 8, 0, 101 }, + { 10, 0, 778 }, { 139, 0, 220 }, { 135, 11, 371 }, { 132, 0, 958 }, + { 133, 0, 903 }, { 4, 11, 127 }, { 5, 11, 350 }, { 6, 11, 356 }, + { 8, 11, 426 }, { 9, 11, 572 }, { 10, 11, 247 }, { 139, 11, 312 }, + { 140, 0, 147 }, { 6, 11, 59 }, { 7, 11, 885 }, { 9, 11, 603 }, + { 141, 11, 397 }, { 10, 0, 367 }, { 9, 10, 14 }, { 9, 10, 441 }, + { 139, 10, 9 }, { 11, 10, 966 }, { 12, 10, 287 }, { 13, 10, 342 }, + { 13, 10, 402 }, { 15, 10, 110 }, { 143, 10, 163 }, { 134, 0, 690 }, + { 132, 0, 705 }, { 9, 0, 651 }, { 11, 0, 971 }, { 13, 0, 273 }, + { 7, 10, 1428 }, { 7, 10, 1640 }, { 7, 10, 1867 }, { 9, 10, 169 }, + { 9, 10, 182 }, { 9, 10, 367 }, { 9, 10, 478 }, { 9, 10, 506 }, + { 9, 10, 551 }, { 9, 10, 557 }, { 9, 10, 648 }, { 9, 10, 697 }, + { 9, 10, 705 }, { 9, 10, 725 }, { 9, 10, 787 }, { 9, 10, 794 }, + { 10, 10, 198 }, { 10, 10, 214 }, { 10, 10, 267 }, { 10, 10, 275 }, + { 10, 10, 456 }, { 10, 10, 551 }, { 10, 10, 561 }, { 10, 10, 613 }, + { 10, 10, 627 }, { 10, 10, 668 }, { 10, 10, 675 }, { 10, 10, 691 }, + { 10, 10, 695 }, { 10, 10, 707 }, { 10, 10, 715 }, { 11, 10, 183 }, + { 11, 10, 201 }, { 11, 10, 262 }, { 11, 10, 352 }, { 11, 10, 439 }, + { 11, 10, 493 }, { 11, 10, 572 }, { 11, 10, 591 }, { 11, 10, 608 }, + { 11, 10, 611 }, { 11, 10, 646 }, { 11, 10, 674 }, { 11, 10, 711 }, + { 11, 10, 751 }, { 11, 10, 761 }, { 11, 10, 776 }, { 11, 10, 785 }, + { 11, 10, 850 }, { 11, 10, 853 }, { 11, 10, 862 }, { 11, 10, 865 }, + { 11, 10, 868 }, { 11, 10, 875 }, { 11, 10, 898 }, { 11, 10, 902 }, + { 11, 10, 903 }, { 11, 10, 910 }, { 11, 10, 932 }, { 11, 10, 942 }, + { 11, 10, 957 }, { 11, 10, 967 }, { 11, 10, 972 }, { 12, 10, 148 }, + { 12, 10, 195 }, { 12, 10, 220 }, { 12, 10, 237 }, { 12, 10, 318 }, + { 12, 10, 339 }, { 12, 10, 393 }, { 12, 10, 445 }, { 12, 10, 450 }, + { 12, 10, 474 }, { 12, 10, 505 }, { 12, 10, 509 }, { 12, 10, 533 }, + { 12, 10, 591 }, { 12, 10, 594 }, { 12, 10, 597 }, { 12, 10, 621 }, + { 12, 10, 633 }, { 12, 10, 642 }, { 13, 10, 59 }, { 13, 10, 60 }, + { 13, 10, 145 }, { 13, 10, 239 }, { 13, 10, 250 }, { 13, 10, 329 }, + { 13, 10, 344 }, { 13, 10, 365 }, { 13, 10, 372 }, { 13, 10, 387 }, + { 13, 10, 403 }, { 13, 10, 414 }, { 13, 10, 456 }, { 13, 10, 470 }, + { 13, 10, 478 }, { 13, 10, 483 }, { 13, 10, 489 }, { 14, 10, 55 }, + { 14, 10, 57 }, { 14, 10, 81 }, { 14, 10, 90 }, { 14, 10, 148 }, + { 14, 10, 239 }, { 14, 10, 266 }, { 14, 10, 321 }, { 14, 10, 326 }, + { 14, 10, 327 }, { 14, 10, 330 }, { 14, 10, 347 }, { 14, 10, 355 }, + { 14, 10, 401 }, { 14, 10, 404 }, { 14, 10, 411 }, { 14, 10, 414 }, + { 14, 10, 416 }, { 14, 10, 420 }, { 15, 10, 61 }, { 15, 10, 74 }, + { 15, 10, 87 }, { 15, 10, 88 }, { 15, 10, 94 }, { 15, 10, 96 }, + { 15, 10, 116 }, { 15, 10, 149 }, { 15, 10, 154 }, { 16, 10, 50 }, + { 16, 10, 63 }, { 16, 10, 73 }, { 17, 10, 2 }, { 17, 10, 66 }, + { 17, 10, 92 }, { 17, 10, 103 }, { 17, 10, 112 }, { 17, 10, 120 }, + { 18, 10, 50 }, { 18, 10, 54 }, { 18, 10, 82 }, { 18, 10, 86 }, + { 18, 10, 90 }, { 18, 10, 111 }, { 18, 10, 115 }, { 18, 10, 156 }, + { 19, 10, 40 }, { 19, 10, 79 }, { 20, 10, 78 }, { 149, 10, 22 }, + { 7, 0, 887 }, { 5, 10, 161 }, { 135, 10, 839 }, { 142, 11, 98 }, + { 134, 0, 90 }, { 138, 11, 356 }, { 135, 11, 441 }, { 6, 11, 111 }, + { 7, 11, 4 }, { 8, 11, 163 }, { 8, 11, 776 }, { 138, 11, 566 }, + { 134, 0, 908 }, { 134, 0, 1261 }, { 7, 0, 813 }, { 12, 0, 497 }, + { 141, 0, 56 }, { 134, 0, 1235 }, { 135, 0, 429 }, { 135, 11, 1994 }, + { 138, 0, 904 }, { 6, 0, 125 }, { 7, 0, 1277 }, { 137, 0, 772 }, + { 151, 0, 12 }, { 4, 0, 841 }, { 5, 0, 386 }, { 133, 11, 386 }, + { 5, 11, 297 }, { 135, 11, 1038 }, { 6, 0, 860 }, { 6, 0, 1069 }, + { 135, 11, 309 }, { 136, 0, 946 }, { 135, 10, 1814 }, { 141, 11, 418 }, + { 136, 11, 363 }, { 10, 0, 768 }, { 139, 0, 787 }, { 22, 11, 30 }, + { 150, 11, 33 }, { 6, 0, 160 }, { 7, 0, 1106 }, { 9, 0, 770 }, + { 11, 0, 112 }, { 140, 0, 413 }, { 11, 11, 216 }, { 139, 11, 340 }, + { 136, 10, 139 }, { 135, 11, 1390 }, { 135, 11, 808 }, { 132, 11, 280 }, + { 12, 0, 271 }, { 17, 0, 109 }, { 7, 10, 643 }, { 136, 10, 236 }, + { 140, 11, 54 }, { 4, 11, 421 }, { 133, 11, 548 }, { 11, 0, 719 }, + { 12, 0, 36 }, { 141, 0, 337 }, { 7, 0, 581 }, { 9, 0, 644 }, + { 137, 0, 699 }, { 11, 11, 511 }, { 13, 11, 394 }, { 14, 11, 298 }, + { 14, 11, 318 }, { 146, 11, 103 }, { 7, 0, 304 }, { 9, 0, 646 }, + { 9, 0, 862 }, { 11, 0, 696 }, { 12, 0, 208 }, { 15, 0, 79 }, + { 147, 0, 108 }, { 4, 0, 631 }, { 7, 0, 1126 }, { 135, 0, 1536 }, + { 135, 11, 1527 }, { 8, 0, 880 }, { 10, 0, 869 }, { 138, 0, 913 }, + { 7, 0, 1513 }, { 5, 10, 54 }, { 6, 11, 254 }, { 9, 11, 109 }, + { 138, 11, 103 }, { 135, 0, 981 }, { 133, 11, 729 }, { 132, 10, 744 }, + { 132, 0, 434 }, { 134, 0, 550 }, { 7, 0, 930 }, { 10, 0, 476 }, + { 13, 0, 452 }, { 19, 0, 104 }, { 6, 11, 1630 }, { 10, 10, 402 }, + { 146, 10, 55 }, { 5, 0, 553 }, { 138, 0, 824 }, { 136, 0, 452 }, + { 8, 0, 151 }, { 137, 10, 624 }, { 132, 10, 572 }, { 132, 0, 772 }, + { 133, 11, 671 }, { 133, 0, 292 }, { 138, 0, 135 }, { 132, 11, 889 }, + { 140, 11, 207 }, { 9, 0, 504 }, { 6, 10, 43 }, { 7, 10, 38 }, + { 8, 10, 248 }, { 138, 10, 513 }, { 6, 0, 1089 }, { 135, 11, 1910 }, + { 4, 11, 627 }, { 133, 11, 775 }, { 135, 0, 783 }, { 133, 10, 766 }, + { 133, 10, 363 }, { 7, 0, 387 }, { 135, 11, 387 }, { 7, 0, 393 }, + { 10, 0, 603 }, { 11, 0, 206 }, { 7, 11, 202 }, { 11, 11, 362 }, + { 11, 11, 948 }, { 140, 11, 388 }, { 6, 11, 507 }, { 7, 11, 451 }, + { 8, 11, 389 }, { 12, 11, 490 }, { 13, 11, 16 }, { 13, 11, 215 }, + { 13, 11, 351 }, { 18, 11, 132 }, { 147, 11, 125 }, { 4, 0, 912 }, + { 9, 0, 232 }, { 135, 11, 841 }, { 6, 10, 258 }, { 140, 10, 409 }, + { 5, 10, 249 }, { 148, 10, 82 }, { 136, 11, 566 }, { 6, 0, 977 }, + { 135, 11, 1214 }, { 7, 0, 1973 }, { 136, 0, 716 }, { 135, 0, 98 }, + { 133, 0, 733 }, { 5, 11, 912 }, { 134, 11, 1695 }, { 5, 10, 393 }, + { 6, 10, 378 }, { 7, 10, 1981 }, { 9, 10, 32 }, { 9, 10, 591 }, + { 10, 10, 685 }, { 10, 10, 741 }, { 142, 10, 382 }, { 133, 10, 788 }, + { 10, 0, 19 }, { 11, 0, 911 }, { 7, 10, 1968 }, { 141, 10, 509 }, + { 5, 0, 668 }, { 5, 11, 236 }, { 6, 11, 572 }, { 8, 11, 492 }, + { 11, 11, 618 }, { 144, 11, 56 }, { 135, 11, 1789 }, { 4, 0, 360 }, + { 5, 0, 635 }, { 5, 0, 700 }, { 5, 10, 58 }, { 5, 10, 171 }, + { 5, 10, 683 }, { 6, 10, 291 }, { 6, 10, 566 }, { 7, 10, 1650 }, + { 11, 10, 523 }, { 12, 10, 273 }, { 12, 10, 303 }, { 15, 10, 39 }, + { 143, 10, 111 }, { 133, 0, 901 }, { 134, 10, 589 }, { 5, 11, 190 }, + { 136, 11, 318 }, { 140, 0, 656 }, { 7, 0, 726 }, { 152, 0, 9 }, + { 4, 10, 917 }, { 133, 10, 1005 }, { 135, 10, 1598 }, { 134, 11, 491 }, + { 4, 10, 919 }, { 133, 11, 434 }, { 137, 0, 72 }, { 6, 0, 1269 }, + { 6, 0, 1566 }, { 134, 0, 1621 }, { 9, 0, 463 }, { 10, 0, 595 }, + { 4, 10, 255 }, { 5, 10, 302 }, { 6, 10, 132 }, { 7, 10, 128 }, + { 7, 10, 283 }, { 7, 10, 1299 }, { 10, 10, 52 }, { 10, 10, 514 }, + { 11, 10, 925 }, { 13, 10, 92 }, { 142, 10, 309 }, { 135, 0, 1454 }, + { 134, 0, 1287 }, { 11, 0, 600 }, { 13, 0, 245 }, { 137, 10, 173 }, + { 136, 0, 989 }, { 7, 0, 164 }, { 7, 0, 1571 }, { 9, 0, 107 }, + { 140, 0, 225 }, { 6, 0, 1061 }, { 141, 10, 442 }, { 4, 0, 27 }, + { 5, 0, 484 }, { 5, 0, 510 }, { 6, 0, 434 }, { 7, 0, 1000 }, + { 7, 0, 1098 }, { 136, 0, 2 }, { 7, 11, 85 }, { 7, 11, 247 }, + { 8, 11, 585 }, { 10, 11, 163 }, { 138, 11, 316 }, { 11, 11, 103 }, + { 142, 11, 0 }, { 134, 0, 1127 }, { 4, 0, 460 }, { 134, 0, 852 }, + { 134, 10, 210 }, { 4, 0, 932 }, { 133, 0, 891 }, { 6, 0, 588 }, + { 147, 11, 83 }, { 8, 0, 625 }, { 4, 10, 284 }, { 134, 10, 223 }, + { 134, 0, 76 }, { 8, 0, 92 }, { 137, 0, 221 }, { 4, 11, 124 }, + { 10, 11, 457 }, { 11, 11, 121 }, { 11, 11, 169 }, { 11, 11, 422 }, + { 11, 11, 870 }, { 12, 11, 214 }, { 13, 11, 389 }, { 14, 11, 187 }, + { 143, 11, 77 }, { 9, 11, 618 }, { 138, 11, 482 }, { 4, 10, 218 }, + { 7, 10, 526 }, { 143, 10, 137 }, { 13, 0, 9 }, { 14, 0, 104 }, + { 14, 0, 311 }, { 4, 10, 270 }, { 5, 10, 192 }, { 6, 10, 332 }, + { 135, 10, 1322 }, { 140, 10, 661 }, { 135, 11, 1193 }, { 6, 11, 107 }, + { 7, 11, 638 }, { 7, 11, 1632 }, { 137, 11, 396 }, { 132, 0, 763 }, + { 4, 0, 622 }, { 5, 11, 370 }, { 134, 11, 1756 }, { 133, 0, 253 }, + { 135, 0, 546 }, { 9, 0, 73 }, { 10, 0, 110 }, { 14, 0, 185 }, + { 17, 0, 119 }, { 133, 11, 204 }, { 7, 0, 624 }, { 7, 0, 916 }, + { 10, 0, 256 }, { 139, 0, 87 }, { 7, 10, 379 }, { 8, 10, 481 }, + { 137, 10, 377 }, { 5, 0, 212 }, { 12, 0, 35 }, { 13, 0, 382 }, + { 5, 11, 970 }, { 134, 11, 1706 }, { 9, 0, 746 }, { 5, 10, 1003 }, + { 134, 10, 149 }, { 10, 0, 150 }, { 11, 0, 849 }, { 13, 0, 330 }, + { 8, 10, 262 }, { 9, 10, 627 }, { 11, 10, 214 }, { 11, 10, 404 }, + { 11, 10, 457 }, { 11, 10, 780 }, { 11, 10, 913 }, { 13, 10, 401 }, + { 142, 10, 200 }, { 134, 0, 1466 }, { 135, 11, 3 }, { 6, 0, 1299 }, + { 4, 11, 35 }, { 5, 11, 121 }, { 5, 11, 483 }, { 5, 11, 685 }, + { 6, 11, 489 }, { 7, 11, 1204 }, { 136, 11, 394 }, { 135, 10, 742 }, + { 4, 10, 142 }, { 136, 10, 304 }, { 4, 11, 921 }, { 133, 11, 1007 }, + { 134, 0, 1518 }, { 6, 0, 1229 }, { 135, 0, 1175 }, { 133, 0, 816 }, + { 12, 0, 159 }, { 4, 10, 471 }, { 4, 11, 712 }, { 5, 10, 51 }, + { 6, 10, 602 }, { 7, 10, 925 }, { 8, 10, 484 }, { 138, 10, 195 }, + { 134, 11, 1629 }, { 5, 0, 869 }, { 5, 0, 968 }, { 6, 0, 1626 }, + { 8, 0, 734 }, { 136, 0, 784 }, { 4, 0, 542 }, { 6, 0, 1716 }, + { 6, 0, 1727 }, { 7, 0, 1082 }, { 7, 0, 1545 }, { 8, 0, 56 }, + { 8, 0, 118 }, { 8, 0, 412 }, { 8, 0, 564 }, { 9, 0, 888 }, + { 9, 0, 908 }, { 10, 0, 50 }, { 10, 0, 423 }, { 11, 0, 685 }, + { 11, 0, 697 }, { 11, 0, 933 }, { 12, 0, 299 }, { 13, 0, 126 }, + { 13, 0, 136 }, { 13, 0, 170 }, { 13, 0, 190 }, { 136, 10, 688 }, + { 132, 10, 697 }, { 4, 0, 232 }, { 9, 0, 202 }, { 10, 0, 474 }, + { 140, 0, 433 }, { 136, 0, 212 }, { 6, 0, 108 }, { 7, 0, 1003 }, + { 7, 0, 1181 }, { 8, 0, 111 }, { 136, 0, 343 }, { 5, 10, 221 }, + { 135, 11, 1255 }, { 133, 11, 485 }, { 134, 0, 1712 }, { 142, 0, 216 }, + { 5, 0, 643 }, { 6, 0, 516 }, { 4, 11, 285 }, { 5, 11, 317 }, + { 6, 11, 301 }, { 7, 11, 7 }, { 8, 11, 153 }, { 10, 11, 766 }, + { 11, 11, 468 }, { 12, 11, 467 }, { 141, 11, 143 }, { 4, 0, 133 }, + { 7, 0, 711 }, { 7, 0, 1298 }, { 135, 0, 1585 }, { 134, 0, 650 }, + { 135, 11, 512 }, { 6, 0, 99 }, { 7, 0, 1808 }, { 145, 0, 57 }, + { 6, 0, 246 }, { 6, 0, 574 }, { 7, 0, 428 }, { 9, 0, 793 }, + { 10, 0, 669 }, { 11, 0, 485 }, { 11, 0, 840 }, { 12, 0, 300 }, + { 14, 0, 250 }, { 145, 0, 55 }, { 4, 10, 132 }, { 5, 10, 69 }, + { 135, 10, 1242 }, { 136, 0, 1023 }, { 7, 0, 302 }, { 132, 10, 111 }, + { 135, 0, 1871 }, { 132, 0, 728 }, { 9, 0, 252 }, { 132, 10, 767 }, + { 6, 0, 461 }, { 7, 0, 1590 }, { 7, 10, 1416 }, { 7, 10, 2005 }, + { 8, 10, 131 }, { 8, 10, 466 }, { 9, 10, 672 }, { 13, 10, 252 }, + { 148, 10, 103 }, { 6, 0, 323 }, { 135, 0, 1564 }, { 7, 0, 461 }, + { 136, 0, 775 }, { 6, 10, 44 }, { 136, 10, 368 }, { 139, 0, 172 }, + { 132, 0, 464 }, { 4, 10, 570 }, { 133, 10, 120 }, { 137, 11, 269 }, + { 6, 10, 227 }, { 135, 10, 1589 }, { 6, 11, 1719 }, { 6, 11, 1735 }, + { 7, 11, 2016 }, { 7, 11, 2020 }, { 8, 11, 837 }, { 137, 11, 852 }, + { 7, 0, 727 }, { 146, 0, 73 }, { 132, 0, 1023 }, { 135, 11, 852 }, + { 135, 10, 1529 }, { 136, 0, 577 }, { 138, 11, 568 }, { 134, 0, 1037 }, + { 8, 11, 67 }, { 138, 11, 419 }, { 4, 0, 413 }, { 5, 0, 677 }, + { 8, 0, 432 }, { 140, 0, 280 }, { 10, 0, 600 }, { 6, 10, 1667 }, + { 7, 11, 967 }, { 7, 10, 2036 }, { 141, 11, 11 }, { 6, 10, 511 }, + { 140, 10, 132 }, { 6, 0, 799 }, { 5, 10, 568 }, { 6, 10, 138 }, + { 135, 10, 1293 }, { 8, 0, 159 }, { 4, 10, 565 }, { 136, 10, 827 }, + { 7, 0, 646 }, { 7, 0, 1730 }, { 11, 0, 446 }, { 141, 0, 178 }, + { 4, 10, 922 }, { 133, 10, 1023 }, { 135, 11, 11 }, { 132, 0, 395 }, + { 11, 0, 145 }, { 135, 10, 1002 }, { 9, 0, 174 }, { 10, 0, 164 }, + { 11, 0, 440 }, { 11, 0, 514 }, { 11, 0, 841 }, { 15, 0, 98 }, + { 149, 0, 20 }, { 134, 0, 426 }, { 10, 0, 608 }, { 139, 0, 1002 }, + { 7, 11, 320 }, { 8, 11, 51 }, { 12, 11, 481 }, { 12, 11, 570 }, + { 148, 11, 106 }, { 9, 0, 977 }, { 9, 0, 983 }, { 132, 11, 445 }, + { 138, 0, 250 }, { 139, 0, 100 }, { 6, 0, 1982 }, { 136, 10, 402 }, + { 133, 11, 239 }, { 4, 10, 716 }, { 141, 10, 31 }, { 5, 0, 476 }, + { 7, 11, 83 }, { 7, 11, 1990 }, { 8, 11, 130 }, { 139, 11, 720 }, + { 8, 10, 691 }, { 136, 10, 731 }, { 5, 11, 123 }, { 6, 11, 530 }, + { 7, 11, 348 }, { 135, 11, 1419 }, { 5, 0, 76 }, { 6, 0, 458 }, + { 6, 0, 497 }, { 7, 0, 868 }, { 9, 0, 658 }, { 10, 0, 594 }, + { 11, 0, 173 }, { 11, 0, 566 }, { 12, 0, 20 }, { 12, 0, 338 }, + { 141, 0, 200 }, { 9, 11, 139 }, { 10, 11, 399 }, { 11, 11, 469 }, + { 12, 11, 634 }, { 141, 11, 223 }, { 9, 10, 840 }, { 138, 10, 803 }, + { 133, 10, 847 }, { 11, 11, 223 }, { 140, 11, 168 }, { 132, 11, 210 }, + { 8, 0, 447 }, { 9, 10, 53 }, { 9, 10, 268 }, { 9, 10, 901 }, + { 10, 10, 518 }, { 10, 10, 829 }, { 11, 10, 188 }, { 13, 10, 74 }, + { 14, 10, 46 }, { 15, 10, 17 }, { 15, 10, 33 }, { 17, 10, 40 }, + { 18, 10, 36 }, { 19, 10, 20 }, { 22, 10, 1 }, { 152, 10, 2 }, + { 4, 0, 526 }, { 7, 0, 1029 }, { 135, 0, 1054 }, { 19, 11, 59 }, + { 150, 11, 2 }, { 4, 0, 636 }, { 6, 0, 1875 }, { 6, 0, 1920 }, + { 9, 0, 999 }, { 12, 0, 807 }, { 12, 0, 825 }, { 15, 0, 179 }, + { 15, 0, 190 }, { 18, 0, 182 }, { 136, 10, 532 }, { 6, 0, 1699 }, + { 7, 0, 660 }, { 7, 0, 1124 }, { 17, 0, 31 }, { 19, 0, 22 }, + { 151, 0, 14 }, { 135, 10, 681 }, { 132, 11, 430 }, { 140, 10, 677 }, + { 4, 10, 684 }, { 136, 10, 384 }, { 132, 11, 756 }, { 133, 11, 213 }, + { 7, 0, 188 }, { 7, 10, 110 }, { 8, 10, 290 }, { 8, 10, 591 }, + { 9, 10, 382 }, { 9, 10, 649 }, { 11, 10, 71 }, { 11, 10, 155 }, + { 11, 10, 313 }, { 12, 10, 5 }, { 13, 10, 325 }, { 142, 10, 287 }, + { 7, 10, 360 }, { 7, 10, 425 }, { 9, 10, 66 }, { 9, 10, 278 }, + { 138, 10, 644 }, { 142, 11, 164 }, { 4, 0, 279 }, { 7, 0, 301 }, + { 137, 0, 362 }, { 134, 11, 586 }, { 135, 0, 1743 }, { 4, 0, 178 }, + { 133, 0, 399 }, { 4, 10, 900 }, { 133, 10, 861 }, { 5, 10, 254 }, + { 7, 10, 985 }, { 136, 10, 73 }, { 133, 11, 108 }, { 7, 10, 1959 }, + { 136, 10, 683 }, { 133, 11, 219 }, { 4, 11, 193 }, { 5, 11, 916 }, + { 7, 11, 364 }, { 10, 11, 398 }, { 10, 11, 726 }, { 11, 11, 317 }, + { 11, 11, 626 }, { 12, 11, 142 }, { 12, 11, 288 }, { 12, 11, 678 }, + { 13, 11, 313 }, { 15, 11, 113 }, { 18, 11, 114 }, { 21, 11, 30 }, + { 150, 11, 53 }, { 6, 11, 241 }, { 7, 11, 907 }, { 8, 11, 832 }, + { 9, 11, 342 }, { 10, 11, 729 }, { 11, 11, 284 }, { 11, 11, 445 }, + { 11, 11, 651 }, { 11, 11, 863 }, { 13, 11, 398 }, { 146, 11, 99 }, + { 132, 0, 872 }, { 134, 0, 831 }, { 134, 0, 1692 }, { 6, 0, 202 }, + { 6, 0, 1006 }, { 9, 0, 832 }, { 10, 0, 636 }, { 11, 0, 208 }, + { 12, 0, 360 }, { 17, 0, 118 }, { 18, 0, 27 }, { 20, 0, 67 }, + { 137, 11, 734 }, { 132, 10, 725 }, { 7, 11, 993 }, { 138, 11, 666 }, + { 134, 0, 1954 }, { 134, 10, 196 }, { 7, 0, 872 }, { 10, 0, 516 }, + { 139, 0, 167 }, { 133, 10, 831 }, { 4, 11, 562 }, { 9, 11, 254 }, + { 139, 11, 879 }, { 137, 0, 313 }, { 4, 0, 224 }, { 132, 11, 786 }, + { 11, 0, 24 }, { 12, 0, 170 }, { 136, 10, 723 }, { 5, 0, 546 }, + { 7, 0, 35 }, { 8, 0, 11 }, { 8, 0, 12 }, { 9, 0, 315 }, + { 9, 0, 533 }, { 10, 0, 802 }, { 11, 0, 166 }, { 12, 0, 525 }, + { 142, 0, 243 }, { 7, 0, 1937 }, { 13, 10, 80 }, { 13, 10, 437 }, + { 145, 10, 74 }, { 5, 0, 241 }, { 8, 0, 242 }, { 9, 0, 451 }, + { 10, 0, 667 }, { 11, 0, 598 }, { 140, 0, 429 }, { 150, 0, 46 }, + { 6, 0, 1273 }, { 137, 0, 830 }, { 5, 10, 848 }, { 6, 10, 66 }, + { 136, 10, 764 }, { 6, 0, 825 }, { 134, 0, 993 }, { 4, 0, 1006 }, + { 10, 0, 327 }, { 13, 0, 271 }, { 4, 10, 36 }, { 7, 10, 1387 }, + { 139, 10, 755 }, { 134, 0, 1023 }, { 135, 0, 1580 }, { 4, 0, 366 }, + { 137, 0, 516 }, { 132, 10, 887 }, { 6, 0, 1736 }, { 135, 0, 1891 }, + { 6, 11, 216 }, { 7, 11, 901 }, { 7, 11, 1343 }, { 136, 11, 493 }, + { 6, 10, 165 }, { 138, 10, 388 }, { 7, 11, 341 }, { 139, 11, 219 }, + { 4, 10, 719 }, { 135, 10, 155 }, { 134, 0, 1935 }, { 132, 0, 826 }, + { 6, 0, 331 }, { 6, 0, 1605 }, { 8, 0, 623 }, { 11, 0, 139 }, + { 139, 0, 171 }, { 135, 11, 1734 }, { 10, 11, 115 }, { 11, 11, 420 }, + { 12, 11, 154 }, { 13, 11, 404 }, { 14, 11, 346 }, { 15, 11, 54 }, + { 143, 11, 112 }, { 7, 0, 288 }, { 4, 10, 353 }, { 6, 10, 146 }, + { 6, 10, 1789 }, { 7, 10, 990 }, { 7, 10, 1348 }, { 9, 10, 665 }, + { 9, 10, 898 }, { 11, 10, 893 }, { 142, 10, 212 }, { 6, 0, 916 }, + { 134, 0, 1592 }, { 7, 0, 1888 }, { 4, 10, 45 }, { 135, 10, 1257 }, + { 5, 11, 1011 }, { 136, 11, 701 }, { 139, 11, 596 }, { 4, 11, 54 }, + { 5, 11, 666 }, { 7, 11, 1039 }, { 7, 11, 1130 }, { 9, 11, 195 }, + { 138, 11, 302 }, { 134, 0, 1471 }, { 134, 0, 1570 }, { 132, 0, 394 }, + { 140, 10, 65 }, { 136, 10, 816 }, { 135, 0, 1931 }, { 7, 0, 574 }, + { 135, 0, 1719 }, { 134, 11, 467 }, { 132, 0, 658 }, { 9, 0, 781 }, + { 10, 0, 144 }, { 11, 0, 385 }, { 13, 0, 161 }, { 13, 0, 228 }, + { 13, 0, 268 }, { 20, 0, 107 }, { 134, 11, 1669 }, { 136, 0, 374 }, + { 135, 0, 735 }, { 4, 0, 344 }, { 6, 0, 498 }, { 139, 0, 323 }, + { 7, 0, 586 }, { 7, 0, 1063 }, { 6, 10, 559 }, { 134, 10, 1691 }, + { 137, 0, 155 }, { 133, 0, 906 }, { 7, 11, 122 }, { 9, 11, 259 }, + { 10, 11, 84 }, { 11, 11, 470 }, { 12, 11, 541 }, { 141, 11, 379 }, + { 134, 0, 1139 }, { 10, 0, 108 }, { 139, 0, 116 }, { 134, 10, 456 }, + { 133, 10, 925 }, { 5, 11, 82 }, { 5, 11, 131 }, { 7, 11, 1755 }, + { 8, 11, 31 }, { 9, 11, 168 }, { 9, 11, 764 }, { 139, 11, 869 }, + { 134, 11, 605 }, { 5, 11, 278 }, { 137, 11, 68 }, { 4, 11, 163 }, + { 5, 11, 201 }, { 5, 11, 307 }, { 5, 11, 310 }, { 6, 11, 335 }, + { 7, 11, 284 }, { 136, 11, 165 }, { 135, 11, 1660 }, { 6, 11, 33 }, + { 135, 11, 1244 }, { 4, 0, 616 }, { 136, 11, 483 }, { 8, 0, 857 }, + { 8, 0, 902 }, { 8, 0, 910 }, { 10, 0, 879 }, { 12, 0, 726 }, + { 4, 11, 199 }, { 139, 11, 34 }, { 136, 0, 692 }, { 6, 10, 193 }, + { 7, 10, 240 }, { 7, 10, 1682 }, { 10, 10, 51 }, { 10, 10, 640 }, + { 11, 10, 410 }, { 13, 10, 82 }, { 14, 10, 247 }, { 14, 10, 331 }, + { 142, 10, 377 }, { 6, 0, 823 }, { 134, 0, 983 }, { 139, 10, 411 }, + { 132, 0, 305 }, { 136, 10, 633 }, { 138, 11, 203 }, { 134, 0, 681 }, + { 6, 11, 326 }, { 7, 11, 677 }, { 137, 11, 425 }, { 5, 0, 214 }, + { 7, 0, 603 }, { 8, 0, 611 }, { 9, 0, 686 }, { 10, 0, 88 }, + { 11, 0, 459 }, { 11, 0, 496 }, { 12, 0, 463 }, { 12, 0, 590 }, + { 141, 0, 0 }, { 136, 0, 1004 }, { 142, 0, 23 }, { 134, 0, 1703 }, + { 147, 11, 8 }, { 145, 11, 56 }, { 135, 0, 1443 }, { 4, 10, 237 }, + { 135, 10, 514 }, { 6, 0, 714 }, { 145, 0, 19 }, { 5, 11, 358 }, + { 7, 11, 473 }, { 7, 11, 1184 }, { 10, 11, 662 }, { 13, 11, 212 }, + { 13, 11, 304 }, { 13, 11, 333 }, { 145, 11, 98 }, { 4, 0, 737 }, + { 10, 0, 98 }, { 11, 0, 294 }, { 12, 0, 60 }, { 12, 0, 437 }, + { 13, 0, 64 }, { 13, 0, 380 }, { 142, 0, 430 }, { 6, 10, 392 }, + { 7, 10, 65 }, { 135, 10, 2019 }, { 6, 0, 1758 }, { 8, 0, 520 }, + { 9, 0, 345 }, { 9, 0, 403 }, { 142, 0, 350 }, { 5, 0, 47 }, + { 10, 0, 242 }, { 138, 0, 579 }, { 5, 0, 139 }, { 7, 0, 1168 }, + { 138, 0, 539 }, { 134, 0, 1459 }, { 13, 0, 388 }, { 141, 11, 388 }, + { 134, 0, 253 }, { 7, 10, 1260 }, { 135, 10, 1790 }, { 10, 0, 252 }, + { 9, 10, 222 }, { 139, 10, 900 }, { 140, 0, 745 }, { 133, 11, 946 }, + { 4, 0, 107 }, { 7, 0, 613 }, { 8, 0, 439 }, { 8, 0, 504 }, + { 9, 0, 501 }, { 10, 0, 383 }, { 139, 0, 477 }, { 135, 11, 1485 }, + { 132, 0, 871 }, { 7, 11, 411 }, { 7, 11, 590 }, { 8, 11, 631 }, + { 9, 11, 323 }, { 10, 11, 355 }, { 11, 11, 491 }, { 12, 11, 143 }, + { 12, 11, 402 }, { 13, 11, 73 }, { 14, 11, 408 }, { 15, 11, 107 }, + { 146, 11, 71 }, { 132, 0, 229 }, { 132, 0, 903 }, { 140, 0, 71 }, + { 133, 0, 549 }, { 4, 0, 47 }, { 6, 0, 373 }, { 7, 0, 452 }, + { 7, 0, 543 }, { 7, 0, 1828 }, { 7, 0, 1856 }, { 9, 0, 6 }, + { 11, 0, 257 }, { 139, 0, 391 }, { 7, 11, 1467 }, { 8, 11, 328 }, + { 10, 11, 544 }, { 11, 11, 955 }, { 13, 11, 320 }, { 145, 11, 83 }, + { 5, 0, 980 }, { 134, 0, 1754 }, { 136, 0, 865 }, { 5, 0, 705 }, + { 137, 0, 606 }, { 7, 0, 161 }, { 8, 10, 201 }, { 136, 10, 605 }, + { 143, 11, 35 }, { 5, 11, 835 }, { 6, 11, 483 }, { 140, 10, 224 }, + { 7, 0, 536 }, { 7, 0, 1331 }, { 136, 0, 143 }, { 134, 0, 1388 }, + { 5, 0, 724 }, { 10, 0, 305 }, { 11, 0, 151 }, { 12, 0, 33 }, + { 12, 0, 121 }, { 12, 0, 381 }, { 17, 0, 3 }, { 17, 0, 27 }, + { 17, 0, 78 }, { 18, 0, 18 }, { 19, 0, 54 }, { 149, 0, 5 }, + { 4, 10, 523 }, { 133, 10, 638 }, { 5, 0, 19 }, { 134, 0, 533 }, + { 5, 0, 395 }, { 5, 0, 951 }, { 134, 0, 1776 }, { 135, 0, 1908 }, + { 132, 0, 846 }, { 10, 0, 74 }, { 11, 0, 663 }, { 12, 0, 210 }, + { 13, 0, 166 }, { 13, 0, 310 }, { 14, 0, 373 }, { 18, 0, 95 }, + { 19, 0, 43 }, { 6, 10, 242 }, { 7, 10, 227 }, { 7, 10, 1581 }, + { 8, 10, 104 }, { 9, 10, 113 }, { 9, 10, 220 }, { 9, 10, 427 }, + { 10, 10, 239 }, { 11, 10, 579 }, { 11, 10, 1023 }, { 13, 10, 4 }, + { 13, 10, 204 }, { 13, 10, 316 }, { 148, 10, 86 }, { 9, 11, 716 }, + { 11, 11, 108 }, { 13, 11, 123 }, { 14, 11, 252 }, { 19, 11, 38 }, + { 21, 11, 3 }, { 151, 11, 11 }, { 8, 0, 372 }, { 9, 0, 122 }, + { 138, 0, 175 }, { 132, 11, 677 }, { 7, 11, 1374 }, { 136, 11, 540 }, + { 135, 10, 861 }, { 132, 0, 695 }, { 7, 0, 497 }, { 9, 0, 387 }, + { 147, 0, 81 }, { 136, 0, 937 }, { 134, 0, 718 }, { 7, 0, 1328 }, + { 136, 10, 494 }, { 132, 11, 331 }, { 6, 0, 1581 }, { 133, 11, 747 }, + { 5, 0, 284 }, { 6, 0, 49 }, { 6, 0, 350 }, { 7, 0, 1 }, + { 7, 0, 377 }, { 7, 0, 1693 }, { 8, 0, 18 }, { 8, 0, 678 }, + { 9, 0, 161 }, { 9, 0, 585 }, { 9, 0, 671 }, { 9, 0, 839 }, + { 11, 0, 912 }, { 141, 0, 427 }, { 7, 10, 1306 }, { 8, 10, 505 }, + { 9, 10, 482 }, { 10, 10, 126 }, { 11, 10, 225 }, { 12, 10, 347 }, + { 12, 10, 449 }, { 13, 10, 19 }, { 14, 10, 218 }, { 142, 10, 435 }, + { 10, 10, 764 }, { 12, 10, 120 }, { 13, 10, 39 }, { 145, 10, 127 }, + { 4, 0, 597 }, { 133, 10, 268 }, { 134, 0, 1094 }, { 4, 0, 1008 }, + { 134, 0, 1973 }, { 132, 0, 811 }, { 139, 0, 908 }, { 135, 0, 1471 }, + { 133, 11, 326 }, { 4, 10, 384 }, { 135, 10, 1022 }, { 7, 0, 1935 }, + { 8, 0, 324 }, { 12, 0, 42 }, { 4, 11, 691 }, { 7, 11, 1935 }, + { 8, 11, 324 }, { 9, 11, 35 }, { 10, 11, 680 }, { 11, 11, 364 }, + { 12, 11, 42 }, { 13, 11, 357 }, { 146, 11, 16 }, { 135, 0, 2014 }, + { 7, 0, 2007 }, { 9, 0, 101 }, { 9, 0, 450 }, { 10, 0, 66 }, + { 10, 0, 842 }, { 11, 0, 536 }, { 12, 0, 587 }, { 6, 11, 32 }, + { 7, 11, 385 }, { 7, 11, 757 }, { 7, 11, 1916 }, { 8, 11, 37 }, + { 8, 11, 94 }, { 8, 11, 711 }, { 9, 11, 541 }, { 10, 11, 162 }, + { 10, 11, 795 }, { 11, 11, 989 }, { 11, 11, 1010 }, { 12, 11, 14 }, + { 142, 11, 308 }, { 139, 0, 586 }, { 135, 10, 1703 }, { 7, 0, 1077 }, + { 11, 0, 28 }, { 9, 10, 159 }, { 140, 10, 603 }, { 6, 0, 1221 }, + { 136, 10, 583 }, { 6, 11, 152 }, { 6, 11, 349 }, { 6, 11, 1682 }, + { 7, 11, 1252 }, { 8, 11, 112 }, { 9, 11, 435 }, { 9, 11, 668 }, + { 10, 11, 290 }, { 10, 11, 319 }, { 10, 11, 815 }, { 11, 11, 180 }, + { 11, 11, 837 }, { 12, 11, 240 }, { 13, 11, 152 }, { 13, 11, 219 }, + { 142, 11, 158 }, { 139, 0, 62 }, { 132, 10, 515 }, { 8, 10, 632 }, + { 8, 10, 697 }, { 137, 10, 854 }, { 134, 0, 1766 }, { 132, 11, 581 }, + { 6, 11, 126 }, { 7, 11, 573 }, { 8, 11, 397 }, { 142, 11, 44 }, + { 150, 0, 28 }, { 11, 0, 670 }, { 22, 0, 25 }, { 4, 10, 136 }, + { 133, 10, 551 }, { 6, 0, 1665 }, { 7, 0, 256 }, { 7, 0, 1388 }, + { 138, 0, 499 }, { 4, 0, 22 }, { 5, 0, 10 }, { 7, 0, 1576 }, + { 136, 0, 97 }, { 134, 10, 1782 }, { 5, 0, 481 }, { 7, 10, 1287 }, + { 9, 10, 44 }, { 10, 10, 552 }, { 10, 10, 642 }, { 11, 10, 839 }, + { 12, 10, 274 }, { 12, 10, 275 }, { 12, 10, 372 }, { 13, 10, 91 }, + { 142, 10, 125 }, { 133, 11, 926 }, { 7, 11, 1232 }, { 137, 11, 531 }, + { 6, 0, 134 }, { 7, 0, 437 }, { 7, 0, 1824 }, { 9, 0, 37 }, + { 14, 0, 285 }, { 142, 0, 371 }, { 7, 0, 486 }, { 8, 0, 155 }, + { 11, 0, 93 }, { 140, 0, 164 }, { 6, 0, 1391 }, { 134, 0, 1442 }, + { 133, 11, 670 }, { 133, 0, 591 }, { 6, 10, 147 }, { 7, 10, 886 }, + { 7, 11, 1957 }, { 9, 10, 753 }, { 138, 10, 268 }, { 5, 0, 380 }, + { 5, 0, 650 }, { 7, 0, 1173 }, { 136, 0, 310 }, { 4, 0, 364 }, + { 7, 0, 1156 }, { 7, 0, 1187 }, { 137, 0, 409 }, { 135, 11, 1621 }, + { 134, 0, 482 }, { 133, 11, 506 }, { 4, 0, 781 }, { 6, 0, 487 }, + { 7, 0, 926 }, { 8, 0, 263 }, { 139, 0, 500 }, { 138, 10, 137 }, + { 135, 11, 242 }, { 139, 11, 96 }, { 133, 10, 414 }, { 135, 10, 1762 }, + { 134, 0, 804 }, { 5, 11, 834 }, { 7, 11, 1202 }, { 8, 11, 14 }, + { 9, 11, 481 }, { 137, 11, 880 }, { 134, 10, 599 }, { 4, 0, 94 }, + { 135, 0, 1265 }, { 4, 0, 415 }, { 132, 0, 417 }, { 5, 0, 348 }, + { 6, 0, 522 }, { 6, 10, 1749 }, { 7, 11, 1526 }, { 138, 11, 465 }, + { 134, 10, 1627 }, { 132, 0, 1012 }, { 132, 10, 488 }, { 4, 11, 357 }, + { 6, 11, 172 }, { 7, 11, 143 }, { 137, 11, 413 }, { 4, 10, 83 }, + { 4, 11, 590 }, { 146, 11, 76 }, { 140, 10, 676 }, { 7, 11, 287 }, + { 8, 11, 355 }, { 9, 11, 293 }, { 137, 11, 743 }, { 134, 10, 278 }, + { 6, 0, 1803 }, { 18, 0, 165 }, { 24, 0, 21 }, { 5, 11, 169 }, + { 7, 11, 333 }, { 136, 11, 45 }, { 12, 10, 97 }, { 140, 11, 97 }, + { 4, 0, 408 }, { 4, 0, 741 }, { 135, 0, 500 }, { 132, 11, 198 }, + { 7, 10, 388 }, { 7, 10, 644 }, { 139, 10, 781 }, { 4, 11, 24 }, + { 5, 11, 140 }, { 5, 11, 185 }, { 7, 11, 1500 }, { 11, 11, 565 }, + { 139, 11, 838 }, { 6, 0, 1321 }, { 9, 0, 257 }, { 7, 10, 229 }, + { 8, 10, 59 }, { 9, 10, 190 }, { 10, 10, 378 }, { 140, 10, 191 }, + { 4, 11, 334 }, { 133, 11, 593 }, { 135, 11, 1885 }, { 134, 0, 1138 }, + { 4, 0, 249 }, { 6, 0, 73 }, { 135, 0, 177 }, { 133, 0, 576 }, + { 142, 0, 231 }, { 137, 0, 288 }, { 132, 10, 660 }, { 7, 10, 1035 }, + { 138, 10, 737 }, { 135, 0, 1487 }, { 6, 0, 989 }, { 9, 0, 433 }, + { 7, 10, 690 }, { 9, 10, 587 }, { 140, 10, 521 }, { 7, 0, 1264 }, + { 7, 0, 1678 }, { 11, 0, 945 }, { 12, 0, 341 }, { 12, 0, 471 }, + { 140, 0, 569 }, { 132, 11, 709 }, { 133, 11, 897 }, { 5, 11, 224 }, + { 13, 11, 174 }, { 146, 11, 52 }, { 135, 11, 1840 }, { 134, 10, 1744 }, + { 12, 0, 87 }, { 16, 0, 74 }, { 4, 10, 733 }, { 9, 10, 194 }, + { 10, 10, 92 }, { 11, 10, 198 }, { 12, 10, 84 }, { 141, 10, 128 }, + { 140, 0, 779 }, { 135, 0, 538 }, { 4, 11, 608 }, { 133, 11, 497 }, + { 133, 0, 413 }, { 7, 11, 1375 }, { 7, 11, 1466 }, { 138, 11, 331 }, + { 136, 0, 495 }, { 6, 11, 540 }, { 136, 11, 136 }, { 7, 0, 54 }, + { 8, 0, 312 }, { 10, 0, 191 }, { 10, 0, 614 }, { 140, 0, 567 }, + { 6, 0, 468 }, { 7, 0, 567 }, { 7, 0, 1478 }, { 8, 0, 530 }, + { 14, 0, 290 }, { 133, 11, 999 }, { 4, 11, 299 }, { 7, 10, 306 }, + { 135, 11, 1004 }, { 142, 11, 296 }, { 134, 0, 1484 }, { 133, 10, 979 }, + { 6, 0, 609 }, { 9, 0, 815 }, { 12, 11, 137 }, { 14, 11, 9 }, + { 14, 11, 24 }, { 142, 11, 64 }, { 133, 11, 456 }, { 6, 0, 484 }, + { 135, 0, 822 }, { 133, 10, 178 }, { 136, 11, 180 }, { 132, 11, 755 }, + { 137, 0, 900 }, { 135, 0, 1335 }, { 6, 0, 1724 }, { 135, 0, 2022 }, + { 135, 11, 1139 }, { 5, 0, 640 }, { 132, 10, 390 }, { 6, 0, 1831 }, + { 138, 11, 633 }, { 135, 11, 566 }, { 4, 11, 890 }, { 5, 11, 805 }, + { 5, 11, 819 }, { 5, 11, 961 }, { 6, 11, 396 }, { 6, 11, 1631 }, + { 6, 11, 1678 }, { 7, 11, 1967 }, { 7, 11, 2041 }, { 9, 11, 630 }, + { 11, 11, 8 }, { 11, 11, 1019 }, { 12, 11, 176 }, { 13, 11, 225 }, + { 14, 11, 292 }, { 149, 11, 24 }, { 132, 0, 474 }, { 134, 0, 1103 }, + { 135, 0, 1504 }, { 134, 0, 1576 }, { 6, 0, 961 }, { 6, 0, 1034 }, + { 140, 0, 655 }, { 11, 11, 514 }, { 149, 11, 20 }, { 5, 0, 305 }, + { 135, 11, 1815 }, { 7, 11, 1505 }, { 10, 11, 190 }, { 10, 11, 634 }, + { 11, 11, 792 }, { 12, 11, 358 }, { 140, 11, 447 }, { 5, 11, 0 }, + { 6, 11, 536 }, { 7, 11, 604 }, { 13, 11, 445 }, { 145, 11, 126 }, + { 7, 0, 1236 }, { 133, 10, 105 }, { 4, 0, 480 }, { 6, 0, 217 }, + { 6, 0, 302 }, { 6, 0, 1642 }, { 7, 0, 130 }, { 7, 0, 837 }, + { 7, 0, 1321 }, { 7, 0, 1547 }, { 7, 0, 1657 }, { 8, 0, 429 }, + { 9, 0, 228 }, { 13, 0, 289 }, { 13, 0, 343 }, { 19, 0, 101 }, + { 6, 11, 232 }, { 6, 11, 412 }, { 7, 11, 1074 }, { 8, 11, 9 }, + { 8, 11, 157 }, { 8, 11, 786 }, { 9, 11, 196 }, { 9, 11, 352 }, + { 9, 11, 457 }, { 10, 11, 337 }, { 11, 11, 232 }, { 11, 11, 877 }, + { 12, 11, 480 }, { 140, 11, 546 }, { 5, 10, 438 }, { 7, 11, 958 }, + { 9, 10, 694 }, { 12, 10, 627 }, { 13, 11, 38 }, { 141, 10, 210 }, + { 4, 11, 382 }, { 136, 11, 579 }, { 7, 0, 278 }, { 10, 0, 739 }, + { 11, 0, 708 }, { 141, 0, 348 }, { 4, 11, 212 }, { 135, 11, 1206 }, + { 135, 11, 1898 }, { 6, 0, 708 }, { 6, 0, 1344 }, { 152, 10, 11 }, + { 137, 11, 768 }, { 134, 0, 1840 }, { 140, 0, 233 }, { 8, 10, 25 }, + { 138, 10, 826 }, { 6, 0, 2017 }, { 133, 11, 655 }, { 6, 0, 1488 }, + { 139, 11, 290 }, { 132, 10, 308 }, { 134, 0, 1590 }, { 134, 0, 1800 }, + { 134, 0, 1259 }, { 16, 0, 28 }, { 6, 11, 231 }, { 7, 11, 95 }, + { 136, 11, 423 }, { 133, 11, 300 }, { 135, 10, 150 }, { 136, 10, 649 }, + { 7, 11, 1874 }, { 137, 11, 641 }, { 6, 11, 237 }, { 7, 11, 611 }, + { 8, 11, 100 }, { 9, 11, 416 }, { 11, 11, 335 }, { 12, 11, 173 }, + { 146, 11, 101 }, { 137, 0, 45 }, { 134, 10, 521 }, { 17, 0, 36 }, + { 14, 11, 26 }, { 146, 11, 150 }, { 7, 0, 1442 }, { 14, 0, 22 }, + { 5, 10, 339 }, { 15, 10, 41 }, { 15, 10, 166 }, { 147, 10, 66 }, + { 8, 0, 378 }, { 6, 11, 581 }, { 135, 11, 1119 }, { 134, 0, 1507 }, + { 147, 11, 117 }, { 139, 0, 39 }, { 134, 0, 1054 }, { 6, 0, 363 }, + { 7, 0, 1955 }, { 136, 0, 725 }, { 134, 0, 2036 }, { 133, 11, 199 }, + { 6, 0, 1871 }, { 9, 0, 935 }, { 9, 0, 961 }, { 9, 0, 1004 }, + { 9, 0, 1016 }, { 12, 0, 805 }, { 12, 0, 852 }, { 12, 0, 853 }, + { 12, 0, 869 }, { 12, 0, 882 }, { 12, 0, 896 }, { 12, 0, 906 }, + { 12, 0, 917 }, { 12, 0, 940 }, { 15, 0, 170 }, { 15, 0, 176 }, + { 15, 0, 188 }, { 15, 0, 201 }, { 15, 0, 205 }, { 15, 0, 212 }, + { 15, 0, 234 }, { 15, 0, 244 }, { 18, 0, 181 }, { 18, 0, 193 }, + { 18, 0, 196 }, { 18, 0, 201 }, { 18, 0, 202 }, { 18, 0, 210 }, + { 18, 0, 217 }, { 18, 0, 235 }, { 18, 0, 236 }, { 18, 0, 237 }, + { 21, 0, 54 }, { 21, 0, 55 }, { 21, 0, 58 }, { 21, 0, 59 }, + { 152, 0, 22 }, { 134, 10, 1628 }, { 137, 0, 805 }, { 5, 0, 813 }, + { 135, 0, 2046 }, { 142, 11, 42 }, { 5, 0, 712 }, { 6, 0, 1240 }, + { 11, 0, 17 }, { 13, 0, 321 }, { 144, 0, 67 }, { 132, 0, 617 }, + { 135, 10, 829 }, { 6, 0, 320 }, { 7, 0, 781 }, { 7, 0, 1921 }, + { 9, 0, 55 }, { 10, 0, 186 }, { 10, 0, 273 }, { 10, 0, 664 }, + { 10, 0, 801 }, { 11, 0, 996 }, { 11, 0, 997 }, { 13, 0, 157 }, + { 142, 0, 170 }, { 136, 0, 271 }, { 5, 10, 486 }, { 135, 10, 1349 }, + { 18, 11, 91 }, { 147, 11, 70 }, { 10, 0, 445 }, { 7, 10, 1635 }, + { 8, 10, 17 }, { 138, 10, 295 }, { 136, 11, 404 }, { 7, 0, 103 }, + { 7, 0, 863 }, { 11, 0, 184 }, { 145, 0, 62 }, { 138, 10, 558 }, + { 137, 0, 659 }, { 6, 11, 312 }, { 6, 11, 1715 }, { 10, 11, 584 }, + { 11, 11, 546 }, { 11, 11, 692 }, { 12, 11, 259 }, { 12, 11, 295 }, + { 13, 11, 46 }, { 141, 11, 154 }, { 134, 0, 676 }, { 132, 11, 588 }, + { 4, 11, 231 }, { 5, 11, 61 }, { 6, 11, 104 }, { 7, 11, 729 }, + { 7, 11, 964 }, { 7, 11, 1658 }, { 140, 11, 414 }, { 6, 11, 263 }, + { 138, 11, 757 }, { 11, 0, 337 }, { 142, 0, 303 }, { 135, 11, 1363 }, + { 132, 11, 320 }, { 140, 0, 506 }, { 134, 10, 447 }, { 5, 0, 77 }, + { 7, 0, 1455 }, { 10, 0, 843 }, { 147, 0, 73 }, { 7, 10, 577 }, + { 7, 10, 1432 }, { 9, 10, 475 }, { 9, 10, 505 }, { 9, 10, 526 }, + { 9, 10, 609 }, { 9, 10, 689 }, { 9, 10, 726 }, { 9, 10, 735 }, + { 9, 10, 738 }, { 10, 10, 556 }, { 10, 10, 674 }, { 10, 10, 684 }, + { 11, 10, 89 }, { 11, 10, 202 }, { 11, 10, 272 }, { 11, 10, 380 }, + { 11, 10, 415 }, { 11, 10, 505 }, { 11, 10, 537 }, { 11, 10, 550 }, + { 11, 10, 562 }, { 11, 10, 640 }, { 11, 10, 667 }, { 11, 10, 688 }, + { 11, 10, 847 }, { 11, 10, 927 }, { 11, 10, 930 }, { 11, 10, 940 }, + { 12, 10, 144 }, { 12, 10, 325 }, { 12, 10, 329 }, { 12, 10, 389 }, + { 12, 10, 403 }, { 12, 10, 451 }, { 12, 10, 515 }, { 12, 10, 604 }, + { 12, 10, 616 }, { 12, 10, 626 }, { 13, 10, 66 }, { 13, 10, 131 }, + { 13, 10, 167 }, { 13, 10, 236 }, { 13, 10, 368 }, { 13, 10, 411 }, + { 13, 10, 434 }, { 13, 10, 453 }, { 13, 10, 461 }, { 13, 10, 474 }, + { 14, 10, 59 }, { 14, 10, 60 }, { 14, 10, 139 }, { 14, 10, 152 }, + { 14, 10, 276 }, { 14, 10, 353 }, { 14, 10, 402 }, { 15, 10, 28 }, + { 15, 10, 81 }, { 15, 10, 123 }, { 15, 10, 152 }, { 18, 10, 136 }, + { 148, 10, 88 }, { 132, 0, 458 }, { 135, 0, 1420 }, { 6, 0, 109 }, + { 10, 0, 382 }, { 4, 11, 405 }, { 4, 10, 609 }, { 7, 10, 756 }, + { 7, 11, 817 }, { 9, 10, 544 }, { 11, 10, 413 }, { 14, 11, 58 }, + { 14, 10, 307 }, { 16, 10, 25 }, { 17, 11, 37 }, { 146, 11, 124 }, + { 6, 0, 330 }, { 7, 0, 1084 }, { 11, 0, 142 }, { 133, 11, 974 }, + { 4, 10, 930 }, { 133, 10, 947 }, { 5, 10, 939 }, { 142, 11, 394 }, + { 16, 0, 91 }, { 145, 0, 87 }, { 5, 11, 235 }, { 5, 10, 962 }, + { 7, 11, 1239 }, { 11, 11, 131 }, { 140, 11, 370 }, { 11, 0, 492 }, + { 5, 10, 651 }, { 8, 10, 170 }, { 9, 10, 61 }, { 9, 10, 63 }, + { 10, 10, 23 }, { 10, 10, 37 }, { 10, 10, 834 }, { 11, 10, 4 }, + { 11, 10, 281 }, { 11, 10, 503 }, { 11, 10, 677 }, { 12, 10, 96 }, + { 12, 10, 130 }, { 12, 10, 244 }, { 14, 10, 5 }, { 14, 10, 40 }, + { 14, 10, 162 }, { 14, 10, 202 }, { 146, 10, 133 }, { 4, 10, 406 }, + { 5, 10, 579 }, { 12, 10, 492 }, { 150, 10, 15 }, { 9, 11, 137 }, + { 138, 11, 221 }, { 134, 0, 1239 }, { 11, 0, 211 }, { 140, 0, 145 }, + { 7, 11, 390 }, { 138, 11, 140 }, { 135, 11, 1418 }, { 135, 11, 1144 }, + { 134, 0, 1049 }, { 7, 0, 321 }, { 6, 10, 17 }, { 7, 10, 1001 }, + { 7, 10, 1982 }, { 9, 10, 886 }, { 10, 10, 489 }, { 10, 10, 800 }, + { 11, 10, 782 }, { 12, 10, 320 }, { 13, 10, 467 }, { 14, 10, 145 }, + { 14, 10, 387 }, { 143, 10, 119 }, { 145, 10, 17 }, { 5, 11, 407 }, + { 11, 11, 489 }, { 19, 11, 37 }, { 20, 11, 73 }, { 150, 11, 38 }, + { 133, 10, 458 }, { 135, 0, 1985 }, { 7, 10, 1983 }, { 8, 10, 0 }, + { 8, 10, 171 }, { 9, 10, 120 }, { 9, 10, 732 }, { 10, 10, 473 }, + { 11, 10, 656 }, { 11, 10, 998 }, { 18, 10, 0 }, { 18, 10, 2 }, + { 147, 10, 21 }, { 5, 11, 325 }, { 7, 11, 1483 }, { 8, 11, 5 }, + { 8, 11, 227 }, { 9, 11, 105 }, { 10, 11, 585 }, { 140, 11, 614 }, + { 136, 0, 122 }, { 132, 0, 234 }, { 135, 11, 1196 }, { 6, 0, 976 }, + { 6, 0, 1098 }, { 134, 0, 1441 }, { 7, 0, 253 }, { 136, 0, 549 }, + { 6, 11, 621 }, { 13, 11, 504 }, { 144, 11, 19 }, { 132, 10, 519 }, + { 5, 0, 430 }, { 5, 0, 932 }, { 6, 0, 131 }, { 7, 0, 417 }, + { 9, 0, 522 }, { 11, 0, 314 }, { 141, 0, 390 }, { 14, 0, 149 }, + { 14, 0, 399 }, { 143, 0, 57 }, { 5, 10, 907 }, { 6, 10, 31 }, + { 6, 11, 218 }, { 7, 10, 491 }, { 7, 10, 530 }, { 8, 10, 592 }, + { 11, 10, 53 }, { 11, 10, 779 }, { 12, 10, 167 }, { 12, 10, 411 }, + { 14, 10, 14 }, { 14, 10, 136 }, { 15, 10, 72 }, { 16, 10, 17 }, + { 144, 10, 72 }, { 140, 11, 330 }, { 7, 11, 454 }, { 7, 11, 782 }, + { 136, 11, 768 }, { 132, 0, 507 }, { 10, 11, 676 }, { 140, 11, 462 }, + { 6, 0, 630 }, { 9, 0, 811 }, { 4, 10, 208 }, { 5, 10, 106 }, + { 6, 10, 531 }, { 8, 10, 408 }, { 9, 10, 188 }, { 138, 10, 572 }, + { 4, 0, 343 }, { 5, 0, 511 }, { 134, 10, 1693 }, { 134, 11, 164 }, + { 132, 0, 448 }, { 7, 0, 455 }, { 138, 0, 591 }, { 135, 0, 1381 }, + { 12, 10, 441 }, { 150, 11, 50 }, { 9, 10, 449 }, { 10, 10, 192 }, + { 138, 10, 740 }, { 6, 0, 575 }, { 132, 10, 241 }, { 134, 0, 1175 }, + { 134, 0, 653 }, { 134, 0, 1761 }, { 134, 0, 1198 }, { 132, 10, 259 }, + { 6, 11, 343 }, { 7, 11, 195 }, { 9, 11, 226 }, { 10, 11, 197 }, + { 10, 11, 575 }, { 11, 11, 502 }, { 139, 11, 899 }, { 7, 0, 1127 }, + { 7, 0, 1572 }, { 10, 0, 297 }, { 10, 0, 422 }, { 11, 0, 764 }, + { 11, 0, 810 }, { 12, 0, 264 }, { 13, 0, 102 }, { 13, 0, 300 }, + { 13, 0, 484 }, { 14, 0, 147 }, { 14, 0, 229 }, { 17, 0, 71 }, + { 18, 0, 118 }, { 147, 0, 120 }, { 135, 11, 666 }, { 132, 0, 678 }, + { 4, 10, 173 }, { 5, 10, 312 }, { 5, 10, 512 }, { 135, 10, 1285 }, + { 7, 10, 1603 }, { 7, 10, 1691 }, { 9, 10, 464 }, { 11, 10, 195 }, + { 12, 10, 279 }, { 12, 10, 448 }, { 14, 10, 11 }, { 147, 10, 102 }, + { 16, 0, 99 }, { 146, 0, 164 }, { 7, 11, 1125 }, { 9, 11, 143 }, + { 11, 11, 61 }, { 14, 11, 405 }, { 150, 11, 21 }, { 137, 11, 260 }, + { 4, 10, 452 }, { 5, 10, 583 }, { 5, 10, 817 }, { 6, 10, 433 }, + { 7, 10, 593 }, { 7, 10, 720 }, { 7, 10, 1378 }, { 8, 10, 161 }, + { 9, 10, 284 }, { 10, 10, 313 }, { 139, 10, 886 }, { 132, 10, 547 }, + { 136, 10, 722 }, { 14, 0, 35 }, { 142, 0, 191 }, { 141, 0, 45 }, + { 138, 0, 121 }, { 132, 0, 125 }, { 134, 0, 1622 }, { 133, 11, 959 }, + { 8, 10, 420 }, { 139, 10, 193 }, { 132, 0, 721 }, { 135, 10, 409 }, + { 136, 0, 145 }, { 7, 0, 792 }, { 8, 0, 147 }, { 10, 0, 821 }, + { 11, 0, 970 }, { 11, 0, 1021 }, { 136, 11, 173 }, { 134, 11, 266 }, + { 132, 0, 715 }, { 7, 0, 1999 }, { 138, 10, 308 }, { 133, 0, 531 }, + { 5, 0, 168 }, { 5, 0, 930 }, { 8, 0, 74 }, { 9, 0, 623 }, + { 12, 0, 500 }, { 140, 0, 579 }, { 144, 0, 65 }, { 138, 11, 246 }, + { 6, 0, 220 }, { 7, 0, 1101 }, { 13, 0, 105 }, { 142, 11, 314 }, + { 5, 10, 1002 }, { 136, 10, 745 }, { 134, 0, 960 }, { 20, 0, 0 }, + { 148, 11, 0 }, { 4, 0, 1005 }, { 4, 10, 239 }, { 6, 10, 477 }, + { 7, 10, 1607 }, { 11, 10, 68 }, { 139, 10, 617 }, { 6, 0, 19 }, + { 7, 0, 1413 }, { 139, 0, 428 }, { 149, 10, 13 }, { 7, 0, 96 }, + { 8, 0, 401 }, { 8, 0, 703 }, { 9, 0, 896 }, { 136, 11, 300 }, + { 134, 0, 1595 }, { 145, 0, 116 }, { 136, 0, 1021 }, { 7, 0, 1961 }, + { 7, 0, 1965 }, { 7, 0, 2030 }, { 8, 0, 150 }, { 8, 0, 702 }, + { 8, 0, 737 }, { 8, 0, 750 }, { 140, 0, 366 }, { 11, 11, 75 }, + { 142, 11, 267 }, { 132, 10, 367 }, { 8, 0, 800 }, { 9, 0, 148 }, + { 9, 0, 872 }, { 9, 0, 890 }, { 11, 0, 309 }, { 11, 0, 1001 }, + { 13, 0, 267 }, { 13, 0, 323 }, { 5, 11, 427 }, { 5, 11, 734 }, + { 7, 11, 478 }, { 136, 11, 52 }, { 7, 11, 239 }, { 11, 11, 217 }, + { 142, 11, 165 }, { 132, 11, 323 }, { 140, 11, 419 }, { 13, 0, 299 }, + { 142, 0, 75 }, { 6, 11, 87 }, { 6, 11, 1734 }, { 7, 11, 20 }, + { 7, 11, 1056 }, { 8, 11, 732 }, { 9, 11, 406 }, { 9, 11, 911 }, + { 138, 11, 694 }, { 134, 0, 1383 }, { 132, 10, 694 }, { 133, 11, 613 }, + { 137, 0, 779 }, { 4, 0, 598 }, { 140, 10, 687 }, { 6, 0, 970 }, + { 135, 0, 424 }, { 133, 0, 547 }, { 7, 11, 32 }, { 7, 11, 984 }, + { 8, 11, 85 }, { 8, 11, 709 }, { 9, 11, 579 }, { 9, 11, 847 }, + { 9, 11, 856 }, { 10, 11, 799 }, { 11, 11, 258 }, { 11, 11, 1007 }, + { 12, 11, 331 }, { 12, 11, 615 }, { 13, 11, 188 }, { 13, 11, 435 }, + { 14, 11, 8 }, { 15, 11, 165 }, { 16, 11, 27 }, { 148, 11, 40 }, + { 6, 0, 1222 }, { 134, 0, 1385 }, { 132, 0, 876 }, { 138, 11, 151 }, + { 135, 10, 213 }, { 4, 11, 167 }, { 135, 11, 82 }, { 133, 0, 133 }, + { 6, 11, 24 }, { 7, 11, 74 }, { 7, 11, 678 }, { 137, 11, 258 }, + { 5, 11, 62 }, { 6, 11, 534 }, { 7, 11, 684 }, { 7, 11, 1043 }, + { 7, 11, 1072 }, { 8, 11, 280 }, { 8, 11, 541 }, { 8, 11, 686 }, + { 10, 11, 519 }, { 11, 11, 252 }, { 140, 11, 282 }, { 136, 0, 187 }, + { 8, 0, 8 }, { 10, 0, 0 }, { 10, 0, 818 }, { 139, 0, 988 }, + { 132, 11, 359 }, { 11, 0, 429 }, { 15, 0, 51 }, { 135, 10, 1672 }, + { 136, 0, 685 }, { 5, 11, 211 }, { 7, 11, 88 }, { 136, 11, 627 }, + { 134, 0, 472 }, { 136, 0, 132 }, { 6, 11, 145 }, { 141, 11, 336 }, + { 4, 10, 751 }, { 11, 10, 390 }, { 140, 10, 32 }, { 6, 0, 938 }, + { 6, 0, 1060 }, { 4, 11, 263 }, { 4, 10, 409 }, { 133, 10, 78 }, + { 137, 0, 874 }, { 8, 0, 774 }, { 10, 0, 670 }, { 12, 0, 51 }, + { 4, 11, 916 }, { 6, 10, 473 }, { 7, 10, 1602 }, { 10, 10, 698 }, + { 12, 10, 212 }, { 13, 10, 307 }, { 145, 10, 105 }, { 146, 0, 92 }, + { 143, 10, 156 }, { 132, 0, 830 }, { 137, 0, 701 }, { 4, 11, 599 }, + { 6, 11, 1634 }, { 7, 11, 5 }, { 7, 11, 55 }, { 7, 11, 67 }, + { 7, 11, 97 }, { 7, 11, 691 }, { 7, 11, 979 }, { 7, 11, 1697 }, + { 8, 11, 207 }, { 8, 11, 214 }, { 8, 11, 231 }, { 8, 11, 294 }, + { 8, 11, 336 }, { 8, 11, 428 }, { 8, 11, 451 }, { 8, 11, 460 }, + { 8, 11, 471 }, { 8, 11, 622 }, { 8, 11, 626 }, { 8, 11, 679 }, + { 8, 11, 759 }, { 8, 11, 829 }, { 9, 11, 11 }, { 9, 11, 246 }, + { 9, 11, 484 }, { 9, 11, 573 }, { 9, 11, 706 }, { 9, 11, 762 }, + { 9, 11, 798 }, { 9, 11, 855 }, { 9, 11, 870 }, { 9, 11, 912 }, + { 10, 11, 303 }, { 10, 11, 335 }, { 10, 11, 424 }, { 10, 11, 461 }, + { 10, 11, 543 }, { 10, 11, 759 }, { 10, 11, 814 }, { 11, 11, 59 }, + { 11, 11, 199 }, { 11, 11, 235 }, { 11, 11, 475 }, { 11, 11, 590 }, + { 11, 11, 929 }, { 11, 11, 963 }, { 12, 11, 114 }, { 12, 11, 182 }, + { 12, 11, 226 }, { 12, 11, 332 }, { 12, 11, 439 }, { 12, 11, 575 }, + { 12, 11, 598 }, { 13, 11, 8 }, { 13, 11, 125 }, { 13, 11, 194 }, + { 13, 11, 287 }, { 14, 11, 197 }, { 14, 11, 383 }, { 15, 11, 53 }, + { 17, 11, 63 }, { 19, 11, 46 }, { 19, 11, 98 }, { 19, 11, 106 }, + { 148, 11, 85 }, { 4, 0, 127 }, { 5, 0, 350 }, { 6, 0, 356 }, + { 8, 0, 426 }, { 9, 0, 572 }, { 10, 0, 247 }, { 139, 0, 312 }, + { 134, 0, 1215 }, { 6, 0, 59 }, { 9, 0, 603 }, { 13, 0, 397 }, + { 7, 11, 1853 }, { 138, 11, 437 }, { 134, 0, 1762 }, { 147, 11, 126 }, + { 135, 10, 883 }, { 13, 0, 293 }, { 142, 0, 56 }, { 133, 10, 617 }, + { 139, 10, 50 }, { 5, 11, 187 }, { 7, 10, 1518 }, { 139, 10, 694 }, + { 135, 0, 441 }, { 6, 0, 111 }, { 7, 0, 4 }, { 8, 0, 163 }, + { 8, 0, 776 }, { 138, 0, 566 }, { 132, 0, 806 }, { 4, 11, 215 }, + { 9, 11, 38 }, { 10, 11, 3 }, { 11, 11, 23 }, { 11, 11, 127 }, + { 139, 11, 796 }, { 14, 0, 233 }, { 4, 10, 546 }, { 135, 10, 2042 }, + { 135, 0, 1994 }, { 134, 0, 1739 }, { 135, 11, 1530 }, { 136, 0, 393 }, + { 5, 0, 297 }, { 7, 0, 1038 }, { 14, 0, 359 }, { 19, 0, 52 }, + { 148, 0, 47 }, { 135, 0, 309 }, { 4, 10, 313 }, { 133, 10, 577 }, + { 8, 10, 184 }, { 141, 10, 433 }, { 135, 10, 935 }, { 12, 10, 186 }, + { 12, 10, 292 }, { 14, 10, 100 }, { 146, 10, 70 }, { 136, 0, 363 }, + { 14, 0, 175 }, { 11, 10, 402 }, { 12, 10, 109 }, { 12, 10, 431 }, + { 13, 10, 179 }, { 13, 10, 206 }, { 14, 10, 217 }, { 16, 10, 3 }, + { 148, 10, 53 }, { 5, 10, 886 }, { 6, 10, 46 }, { 6, 10, 1790 }, + { 7, 10, 14 }, { 7, 10, 732 }, { 7, 10, 1654 }, { 8, 10, 95 }, + { 8, 10, 327 }, { 8, 10, 616 }, { 9, 10, 892 }, { 10, 10, 598 }, + { 10, 10, 769 }, { 11, 10, 134 }, { 11, 10, 747 }, { 12, 10, 378 }, + { 142, 10, 97 }, { 136, 0, 666 }, { 135, 0, 1675 }, { 6, 0, 655 }, + { 134, 0, 1600 }, { 135, 0, 808 }, { 133, 10, 1021 }, { 4, 11, 28 }, + { 5, 11, 440 }, { 7, 11, 248 }, { 11, 11, 833 }, { 140, 11, 344 }, + { 134, 11, 1654 }, { 132, 0, 280 }, { 140, 0, 54 }, { 4, 0, 421 }, + { 133, 0, 548 }, { 132, 10, 153 }, { 6, 11, 339 }, { 135, 11, 923 }, + { 133, 11, 853 }, { 133, 10, 798 }, { 132, 10, 587 }, { 6, 11, 249 }, + { 7, 11, 1234 }, { 139, 11, 573 }, { 6, 10, 598 }, { 7, 10, 42 }, + { 8, 10, 695 }, { 10, 10, 212 }, { 11, 10, 158 }, { 14, 10, 196 }, + { 145, 10, 85 }, { 7, 0, 249 }, { 5, 10, 957 }, { 133, 10, 1008 }, + { 4, 10, 129 }, { 135, 10, 465 }, { 6, 0, 254 }, { 7, 0, 842 }, + { 7, 0, 1659 }, { 9, 0, 109 }, { 10, 0, 103 }, { 7, 10, 908 }, + { 7, 10, 1201 }, { 9, 10, 755 }, { 11, 10, 906 }, { 12, 10, 527 }, + { 146, 10, 7 }, { 5, 0, 262 }, { 136, 10, 450 }, { 144, 0, 1 }, + { 10, 11, 201 }, { 142, 11, 319 }, { 7, 11, 49 }, { 7, 11, 392 }, + { 8, 11, 20 }, { 8, 11, 172 }, { 8, 11, 690 }, { 9, 11, 383 }, + { 9, 11, 845 }, { 10, 11, 48 }, { 11, 11, 293 }, { 11, 11, 832 }, + { 11, 11, 920 }, { 141, 11, 221 }, { 5, 11, 858 }, { 133, 11, 992 }, + { 134, 0, 805 }, { 139, 10, 1003 }, { 6, 0, 1630 }, { 134, 11, 307 }, + { 7, 11, 1512 }, { 135, 11, 1794 }, { 6, 11, 268 }, { 137, 11, 62 }, + { 135, 10, 1868 }, { 133, 0, 671 }, { 4, 0, 989 }, { 8, 0, 972 }, + { 136, 0, 998 }, { 132, 11, 423 }, { 132, 0, 889 }, { 135, 0, 1382 }, + { 135, 0, 1910 }, { 7, 10, 965 }, { 7, 10, 1460 }, { 135, 10, 1604 }, + { 4, 0, 627 }, { 5, 0, 775 }, { 138, 11, 106 }, { 134, 11, 348 }, + { 7, 0, 202 }, { 11, 0, 362 }, { 11, 0, 948 }, { 140, 0, 388 }, + { 138, 11, 771 }, { 6, 11, 613 }, { 136, 11, 223 }, { 6, 0, 560 }, + { 7, 0, 451 }, { 8, 0, 389 }, { 12, 0, 490 }, { 13, 0, 16 }, + { 13, 0, 215 }, { 13, 0, 351 }, { 18, 0, 132 }, { 147, 0, 125 }, + { 135, 0, 841 }, { 136, 0, 566 }, { 136, 0, 938 }, { 132, 11, 670 }, + { 5, 0, 912 }, { 6, 0, 1695 }, { 140, 11, 55 }, { 9, 11, 40 }, + { 139, 11, 136 }, { 7, 0, 1361 }, { 7, 10, 982 }, { 10, 10, 32 }, + { 143, 10, 56 }, { 11, 11, 259 }, { 140, 11, 270 }, { 5, 0, 236 }, + { 6, 0, 572 }, { 8, 0, 492 }, { 11, 0, 618 }, { 144, 0, 56 }, + { 8, 11, 572 }, { 9, 11, 310 }, { 9, 11, 682 }, { 137, 11, 698 }, + { 134, 0, 1854 }, { 5, 0, 190 }, { 136, 0, 318 }, { 133, 10, 435 }, + { 135, 0, 1376 }, { 4, 11, 296 }, { 6, 11, 352 }, { 7, 11, 401 }, + { 7, 11, 1410 }, { 7, 11, 1594 }, { 7, 11, 1674 }, { 8, 11, 63 }, + { 8, 11, 660 }, { 137, 11, 74 }, { 7, 0, 349 }, { 5, 10, 85 }, + { 6, 10, 419 }, { 7, 10, 305 }, { 7, 10, 361 }, { 7, 10, 1337 }, + { 8, 10, 71 }, { 140, 10, 519 }, { 4, 11, 139 }, { 4, 11, 388 }, + { 140, 11, 188 }, { 6, 0, 1972 }, { 6, 0, 2013 }, { 8, 0, 951 }, + { 10, 0, 947 }, { 10, 0, 974 }, { 10, 0, 1018 }, { 142, 0, 476 }, + { 140, 10, 688 }, { 135, 10, 740 }, { 5, 10, 691 }, { 7, 10, 345 }, + { 9, 10, 94 }, { 140, 10, 169 }, { 9, 0, 344 }, { 5, 10, 183 }, + { 6, 10, 582 }, { 10, 10, 679 }, { 140, 10, 435 }, { 135, 10, 511 }, + { 132, 0, 850 }, { 8, 11, 441 }, { 10, 11, 314 }, { 143, 11, 3 }, + { 7, 10, 1993 }, { 136, 10, 684 }, { 4, 11, 747 }, { 6, 11, 290 }, + { 6, 10, 583 }, { 7, 11, 649 }, { 7, 11, 1479 }, { 135, 11, 1583 }, + { 133, 11, 232 }, { 133, 10, 704 }, { 134, 0, 910 }, { 4, 10, 179 }, + { 5, 10, 198 }, { 133, 10, 697 }, { 7, 10, 347 }, { 7, 10, 971 }, + { 8, 10, 181 }, { 138, 10, 711 }, { 136, 11, 525 }, { 14, 0, 19 }, + { 14, 0, 28 }, { 144, 0, 29 }, { 7, 0, 85 }, { 7, 0, 247 }, + { 8, 0, 585 }, { 138, 0, 163 }, { 4, 0, 487 }, { 7, 11, 472 }, + { 7, 11, 1801 }, { 10, 11, 748 }, { 141, 11, 458 }, { 4, 10, 243 }, + { 5, 10, 203 }, { 7, 10, 19 }, { 7, 10, 71 }, { 7, 10, 113 }, + { 10, 10, 405 }, { 11, 10, 357 }, { 142, 10, 240 }, { 7, 10, 1450 }, + { 139, 10, 99 }, { 132, 11, 425 }, { 138, 0, 145 }, { 147, 0, 83 }, + { 6, 10, 492 }, { 137, 11, 247 }, { 4, 0, 1013 }, { 134, 0, 2033 }, + { 5, 10, 134 }, { 6, 10, 408 }, { 6, 10, 495 }, { 135, 10, 1593 }, + { 135, 0, 1922 }, { 134, 11, 1768 }, { 4, 0, 124 }, { 10, 0, 457 }, + { 11, 0, 121 }, { 11, 0, 169 }, { 11, 0, 870 }, { 11, 0, 874 }, + { 12, 0, 214 }, { 14, 0, 187 }, { 143, 0, 77 }, { 5, 0, 557 }, + { 135, 0, 1457 }, { 139, 0, 66 }, { 5, 11, 943 }, { 6, 11, 1779 }, + { 142, 10, 4 }, { 4, 10, 248 }, { 4, 10, 665 }, { 7, 10, 137 }, + { 137, 10, 349 }, { 7, 0, 1193 }, { 5, 11, 245 }, { 6, 11, 576 }, + { 7, 11, 582 }, { 136, 11, 225 }, { 144, 0, 82 }, { 7, 10, 1270 }, + { 139, 10, 612 }, { 5, 0, 454 }, { 10, 0, 352 }, { 138, 11, 352 }, + { 18, 0, 57 }, { 5, 10, 371 }, { 135, 10, 563 }, { 135, 0, 1333 }, + { 6, 0, 107 }, { 7, 0, 638 }, { 7, 0, 1632 }, { 9, 0, 396 }, + { 134, 11, 610 }, { 5, 0, 370 }, { 134, 0, 1756 }, { 4, 10, 374 }, + { 7, 10, 547 }, { 7, 10, 1700 }, { 7, 10, 1833 }, { 139, 10, 858 }, + { 133, 0, 204 }, { 6, 0, 1305 }, { 9, 10, 311 }, { 141, 10, 42 }, + { 5, 0, 970 }, { 134, 0, 1706 }, { 6, 10, 1647 }, { 7, 10, 1552 }, + { 7, 10, 2010 }, { 9, 10, 494 }, { 137, 10, 509 }, { 13, 11, 455 }, + { 15, 11, 99 }, { 15, 11, 129 }, { 144, 11, 68 }, { 135, 0, 3 }, + { 4, 0, 35 }, { 5, 0, 121 }, { 5, 0, 483 }, { 5, 0, 685 }, + { 6, 0, 489 }, { 6, 0, 782 }, { 6, 0, 1032 }, { 7, 0, 1204 }, + { 136, 0, 394 }, { 4, 0, 921 }, { 133, 0, 1007 }, { 8, 11, 360 }, + { 138, 11, 63 }, { 135, 0, 1696 }, { 134, 0, 1519 }, { 132, 11, 443 }, + { 135, 11, 944 }, { 6, 10, 123 }, { 7, 10, 214 }, { 9, 10, 728 }, + { 10, 10, 157 }, { 11, 10, 346 }, { 11, 10, 662 }, { 143, 10, 106 }, + { 137, 0, 981 }, { 135, 10, 1435 }, { 134, 0, 1072 }, { 132, 0, 712 }, + { 134, 0, 1629 }, { 134, 0, 728 }, { 4, 11, 298 }, { 137, 11, 483 }, + { 6, 0, 1177 }, { 6, 0, 1271 }, { 5, 11, 164 }, { 7, 11, 121 }, + { 142, 11, 189 }, { 7, 0, 1608 }, { 4, 10, 707 }, { 5, 10, 588 }, + { 6, 10, 393 }, { 13, 10, 106 }, { 18, 10, 49 }, { 147, 10, 41 }, + { 23, 0, 16 }, { 151, 11, 16 }, { 6, 10, 211 }, { 7, 10, 1690 }, + { 11, 10, 486 }, { 140, 10, 369 }, { 133, 0, 485 }, { 19, 11, 15 }, + { 149, 11, 27 }, { 4, 11, 172 }, { 9, 11, 611 }, { 10, 11, 436 }, + { 12, 11, 673 }, { 141, 11, 255 }, { 5, 11, 844 }, { 10, 11, 484 }, + { 11, 11, 754 }, { 12, 11, 457 }, { 14, 11, 171 }, { 14, 11, 389 }, + { 146, 11, 153 }, { 4, 0, 285 }, { 5, 0, 27 }, { 5, 0, 317 }, + { 6, 0, 301 }, { 7, 0, 7 }, { 8, 0, 153 }, { 10, 0, 766 }, + { 11, 0, 468 }, { 12, 0, 467 }, { 141, 0, 143 }, { 134, 0, 1462 }, + { 9, 11, 263 }, { 10, 11, 147 }, { 138, 11, 492 }, { 133, 11, 537 }, + { 6, 0, 1945 }, { 6, 0, 1986 }, { 6, 0, 1991 }, { 134, 0, 2038 }, + { 134, 10, 219 }, { 137, 11, 842 }, { 14, 0, 52 }, { 17, 0, 50 }, + { 5, 10, 582 }, { 6, 10, 1646 }, { 7, 10, 99 }, { 7, 10, 1962 }, + { 7, 10, 1986 }, { 8, 10, 515 }, { 8, 10, 773 }, { 9, 10, 23 }, + { 9, 10, 491 }, { 12, 10, 620 }, { 142, 10, 93 }, { 138, 11, 97 }, + { 20, 0, 21 }, { 20, 0, 44 }, { 133, 10, 851 }, { 136, 0, 819 }, + { 139, 0, 917 }, { 5, 11, 230 }, { 5, 11, 392 }, { 6, 11, 420 }, + { 8, 10, 762 }, { 8, 10, 812 }, { 9, 11, 568 }, { 9, 10, 910 }, + { 140, 11, 612 }, { 135, 0, 784 }, { 15, 0, 135 }, { 143, 11, 135 }, + { 10, 0, 454 }, { 140, 0, 324 }, { 4, 11, 0 }, { 5, 11, 41 }, + { 7, 11, 1459 }, { 7, 11, 1469 }, { 7, 11, 1618 }, { 7, 11, 1859 }, + { 9, 11, 549 }, { 139, 11, 905 }, { 4, 10, 98 }, { 7, 10, 1365 }, + { 9, 10, 422 }, { 9, 10, 670 }, { 10, 10, 775 }, { 11, 10, 210 }, + { 13, 10, 26 }, { 13, 10, 457 }, { 141, 10, 476 }, { 6, 0, 1719 }, + { 6, 0, 1735 }, { 7, 0, 2016 }, { 7, 0, 2020 }, { 8, 0, 837 }, + { 137, 0, 852 }, { 133, 11, 696 }, { 135, 0, 852 }, { 132, 0, 952 }, + { 134, 10, 1730 }, { 132, 11, 771 }, { 138, 0, 568 }, { 137, 0, 448 }, + { 139, 0, 146 }, { 8, 0, 67 }, { 138, 0, 419 }, { 133, 11, 921 }, + { 137, 10, 147 }, { 134, 0, 1826 }, { 10, 0, 657 }, { 14, 0, 297 }, + { 142, 0, 361 }, { 6, 0, 666 }, { 6, 0, 767 }, { 134, 0, 1542 }, + { 139, 0, 729 }, { 6, 11, 180 }, { 7, 11, 1137 }, { 8, 11, 751 }, + { 139, 11, 805 }, { 4, 11, 183 }, { 7, 11, 271 }, { 11, 11, 824 }, + { 11, 11, 952 }, { 13, 11, 278 }, { 13, 11, 339 }, { 13, 11, 482 }, + { 14, 11, 424 }, { 148, 11, 99 }, { 4, 0, 669 }, { 5, 11, 477 }, + { 5, 11, 596 }, { 6, 11, 505 }, { 7, 11, 1221 }, { 11, 11, 907 }, + { 12, 11, 209 }, { 141, 11, 214 }, { 135, 11, 1215 }, { 5, 0, 402 }, + { 6, 10, 30 }, { 11, 10, 56 }, { 139, 10, 305 }, { 7, 11, 564 }, + { 142, 11, 168 }, { 139, 0, 152 }, { 7, 0, 912 }, { 135, 10, 1614 }, + { 4, 10, 150 }, { 5, 10, 303 }, { 134, 10, 327 }, { 7, 0, 320 }, + { 8, 0, 51 }, { 9, 0, 868 }, { 10, 0, 833 }, { 12, 0, 481 }, + { 12, 0, 570 }, { 148, 0, 106 }, { 132, 0, 445 }, { 7, 11, 274 }, + { 11, 11, 263 }, { 11, 11, 479 }, { 11, 11, 507 }, { 140, 11, 277 }, + { 10, 0, 555 }, { 11, 0, 308 }, { 19, 0, 95 }, { 6, 11, 1645 }, + { 8, 10, 192 }, { 10, 10, 78 }, { 141, 10, 359 }, { 135, 10, 786 }, + { 6, 11, 92 }, { 6, 11, 188 }, { 7, 11, 1269 }, { 7, 11, 1524 }, + { 7, 11, 1876 }, { 10, 11, 228 }, { 139, 11, 1020 }, { 4, 11, 459 }, + { 133, 11, 966 }, { 11, 0, 386 }, { 6, 10, 1638 }, { 7, 10, 79 }, + { 7, 10, 496 }, { 9, 10, 138 }, { 10, 10, 336 }, { 12, 10, 412 }, + { 12, 10, 440 }, { 142, 10, 305 }, { 133, 0, 239 }, { 7, 0, 83 }, + { 7, 0, 1990 }, { 8, 0, 130 }, { 139, 0, 720 }, { 138, 11, 709 }, + { 4, 0, 143 }, { 5, 0, 550 }, { 133, 0, 752 }, { 5, 0, 123 }, + { 6, 0, 530 }, { 7, 0, 348 }, { 135, 0, 1419 }, { 135, 0, 2024 }, + { 6, 11, 18 }, { 7, 11, 179 }, { 7, 11, 721 }, { 7, 11, 932 }, + { 8, 11, 548 }, { 8, 11, 757 }, { 9, 11, 54 }, { 9, 11, 65 }, + { 9, 11, 532 }, { 9, 11, 844 }, { 10, 11, 113 }, { 10, 11, 117 }, + { 10, 11, 236 }, { 10, 11, 315 }, { 10, 11, 430 }, { 10, 11, 798 }, + { 11, 11, 153 }, { 11, 11, 351 }, { 11, 11, 375 }, { 12, 11, 78 }, + { 12, 11, 151 }, { 12, 11, 392 }, { 14, 11, 248 }, { 143, 11, 23 }, + { 7, 10, 204 }, { 7, 10, 415 }, { 8, 10, 42 }, { 10, 10, 85 }, + { 139, 10, 564 }, { 134, 0, 958 }, { 133, 11, 965 }, { 132, 0, 210 }, + { 135, 11, 1429 }, { 138, 11, 480 }, { 134, 11, 182 }, { 139, 11, 345 }, + { 10, 11, 65 }, { 10, 11, 488 }, { 138, 11, 497 }, { 4, 10, 3 }, + { 5, 10, 247 }, { 5, 10, 644 }, { 7, 10, 744 }, { 7, 10, 1207 }, + { 7, 10, 1225 }, { 7, 10, 1909 }, { 146, 10, 147 }, { 132, 0, 430 }, + { 5, 10, 285 }, { 9, 10, 67 }, { 13, 10, 473 }, { 143, 10, 82 }, + { 144, 11, 16 }, { 7, 11, 1162 }, { 9, 11, 588 }, { 10, 11, 260 }, + { 151, 10, 8 }, { 133, 0, 213 }, { 138, 0, 7 }, { 135, 0, 801 }, + { 134, 11, 1786 }, { 135, 11, 308 }, { 6, 0, 936 }, { 134, 0, 1289 }, + { 133, 0, 108 }, { 132, 0, 885 }, { 133, 0, 219 }, { 139, 0, 587 }, + { 4, 0, 193 }, { 5, 0, 916 }, { 6, 0, 1041 }, { 7, 0, 364 }, + { 10, 0, 398 }, { 10, 0, 726 }, { 11, 0, 317 }, { 11, 0, 626 }, + { 12, 0, 142 }, { 12, 0, 288 }, { 12, 0, 678 }, { 13, 0, 313 }, + { 15, 0, 113 }, { 146, 0, 114 }, { 135, 0, 1165 }, { 6, 0, 241 }, + { 9, 0, 342 }, { 10, 0, 729 }, { 11, 0, 284 }, { 11, 0, 445 }, + { 11, 0, 651 }, { 11, 0, 863 }, { 13, 0, 398 }, { 146, 0, 99 }, + { 7, 0, 907 }, { 136, 0, 832 }, { 9, 0, 303 }, { 4, 10, 29 }, + { 6, 10, 532 }, { 7, 10, 1628 }, { 7, 10, 1648 }, { 9, 10, 350 }, + { 10, 10, 433 }, { 11, 10, 97 }, { 11, 10, 557 }, { 11, 10, 745 }, + { 12, 10, 289 }, { 12, 10, 335 }, { 12, 10, 348 }, { 12, 10, 606 }, + { 13, 10, 116 }, { 13, 10, 233 }, { 13, 10, 466 }, { 14, 10, 181 }, + { 14, 10, 209 }, { 14, 10, 232 }, { 14, 10, 236 }, { 14, 10, 300 }, + { 16, 10, 41 }, { 148, 10, 97 }, { 7, 11, 423 }, { 7, 10, 1692 }, + { 136, 11, 588 }, { 6, 0, 931 }, { 134, 0, 1454 }, { 5, 10, 501 }, + { 7, 10, 1704 }, { 9, 10, 553 }, { 11, 10, 520 }, { 12, 10, 557 }, + { 141, 10, 249 }, { 136, 11, 287 }, { 4, 0, 562 }, { 9, 0, 254 }, + { 139, 0, 879 }, { 132, 0, 786 }, { 14, 11, 32 }, { 18, 11, 85 }, + { 20, 11, 2 }, { 152, 11, 16 }, { 135, 0, 1294 }, { 7, 11, 723 }, + { 135, 11, 1135 }, { 6, 0, 216 }, { 7, 0, 901 }, { 7, 0, 1343 }, + { 8, 0, 493 }, { 134, 11, 403 }, { 7, 11, 719 }, { 8, 11, 809 }, + { 136, 11, 834 }, { 5, 11, 210 }, { 6, 11, 213 }, { 7, 11, 60 }, + { 10, 11, 364 }, { 139, 11, 135 }, { 7, 0, 341 }, { 11, 0, 219 }, + { 5, 11, 607 }, { 8, 11, 326 }, { 136, 11, 490 }, { 4, 11, 701 }, + { 5, 11, 472 }, { 5, 11, 639 }, { 7, 11, 1249 }, { 9, 11, 758 }, + { 139, 11, 896 }, { 135, 11, 380 }, { 135, 11, 1947 }, { 139, 0, 130 }, + { 135, 0, 1734 }, { 10, 0, 115 }, { 11, 0, 420 }, { 12, 0, 154 }, + { 13, 0, 404 }, { 14, 0, 346 }, { 143, 0, 54 }, { 134, 10, 129 }, + { 4, 11, 386 }, { 7, 11, 41 }, { 8, 11, 405 }, { 9, 11, 497 }, + { 11, 11, 110 }, { 11, 11, 360 }, { 15, 11, 37 }, { 144, 11, 84 }, + { 141, 11, 282 }, { 5, 11, 46 }, { 7, 11, 1452 }, { 7, 11, 1480 }, + { 8, 11, 634 }, { 140, 11, 472 }, { 4, 11, 524 }, { 136, 11, 810 }, + { 10, 11, 238 }, { 141, 11, 33 }, { 133, 0, 604 }, { 5, 0, 1011 }, + { 136, 0, 701 }, { 8, 0, 856 }, { 8, 0, 858 }, { 8, 0, 879 }, + { 12, 0, 702 }, { 142, 0, 447 }, { 4, 0, 54 }, { 5, 0, 666 }, + { 7, 0, 1039 }, { 7, 0, 1130 }, { 9, 0, 195 }, { 138, 0, 302 }, + { 4, 10, 25 }, { 5, 10, 60 }, { 6, 10, 504 }, { 7, 10, 614 }, + { 7, 10, 1155 }, { 140, 10, 0 }, { 7, 10, 1248 }, { 11, 10, 621 }, + { 139, 10, 702 }, { 133, 11, 997 }, { 137, 10, 321 }, { 134, 0, 1669 }, + { 134, 0, 1791 }, { 4, 10, 379 }, { 135, 10, 1397 }, { 138, 11, 372 }, + { 5, 11, 782 }, { 5, 11, 829 }, { 134, 11, 1738 }, { 135, 0, 1228 }, + { 4, 10, 118 }, { 6, 10, 274 }, { 6, 10, 361 }, { 7, 10, 75 }, + { 141, 10, 441 }, { 132, 0, 623 }, { 9, 11, 279 }, { 10, 11, 407 }, + { 14, 11, 84 }, { 150, 11, 18 }, { 137, 10, 841 }, { 135, 0, 798 }, + { 140, 10, 693 }, { 5, 10, 314 }, { 6, 10, 221 }, { 7, 10, 419 }, + { 10, 10, 650 }, { 11, 10, 396 }, { 12, 10, 156 }, { 13, 10, 369 }, + { 14, 10, 333 }, { 145, 10, 47 }, { 135, 11, 1372 }, { 7, 0, 122 }, + { 9, 0, 259 }, { 10, 0, 84 }, { 11, 0, 470 }, { 12, 0, 541 }, + { 141, 0, 379 }, { 134, 0, 837 }, { 8, 0, 1013 }, { 4, 11, 78 }, + { 5, 11, 96 }, { 5, 11, 182 }, { 7, 11, 1724 }, { 7, 11, 1825 }, + { 10, 11, 394 }, { 10, 11, 471 }, { 11, 11, 532 }, { 14, 11, 340 }, + { 145, 11, 88 }, { 134, 0, 577 }, { 135, 11, 1964 }, { 132, 10, 913 }, + { 134, 0, 460 }, { 8, 0, 891 }, { 10, 0, 901 }, { 10, 0, 919 }, + { 10, 0, 932 }, { 12, 0, 715 }, { 12, 0, 728 }, { 12, 0, 777 }, + { 14, 0, 457 }, { 144, 0, 103 }, { 5, 0, 82 }, { 5, 0, 131 }, + { 7, 0, 1755 }, { 8, 0, 31 }, { 9, 0, 168 }, { 9, 0, 764 }, + { 139, 0, 869 }, { 136, 10, 475 }, { 6, 0, 605 }, { 5, 10, 1016 }, + { 9, 11, 601 }, { 9, 11, 619 }, { 10, 11, 505 }, { 10, 11, 732 }, + { 11, 11, 355 }, { 140, 11, 139 }, { 7, 10, 602 }, { 8, 10, 179 }, + { 10, 10, 781 }, { 140, 10, 126 }, { 134, 0, 1246 }, { 6, 10, 329 }, + { 138, 10, 111 }, { 6, 11, 215 }, { 7, 11, 1028 }, { 7, 11, 1473 }, + { 7, 11, 1721 }, { 9, 11, 424 }, { 138, 11, 779 }, { 5, 0, 278 }, + { 137, 0, 68 }, { 6, 0, 932 }, { 6, 0, 1084 }, { 144, 0, 86 }, + { 4, 0, 163 }, { 5, 0, 201 }, { 5, 0, 307 }, { 5, 0, 310 }, + { 6, 0, 335 }, { 7, 0, 284 }, { 7, 0, 1660 }, { 136, 0, 165 }, + { 136, 0, 781 }, { 134, 0, 707 }, { 6, 0, 33 }, { 135, 0, 1244 }, + { 5, 10, 821 }, { 6, 11, 67 }, { 6, 10, 1687 }, { 7, 11, 258 }, + { 7, 11, 1630 }, { 9, 11, 354 }, { 9, 11, 675 }, { 10, 11, 830 }, + { 14, 11, 80 }, { 145, 11, 80 }, { 6, 11, 141 }, { 7, 11, 225 }, + { 9, 11, 59 }, { 9, 11, 607 }, { 10, 11, 312 }, { 11, 11, 687 }, + { 12, 11, 555 }, { 13, 11, 373 }, { 13, 11, 494 }, { 148, 11, 58 }, + { 134, 0, 1113 }, { 9, 0, 388 }, { 5, 10, 71 }, { 7, 10, 1407 }, + { 9, 10, 704 }, { 10, 10, 261 }, { 10, 10, 619 }, { 11, 10, 547 }, + { 11, 10, 619 }, { 143, 10, 157 }, { 7, 0, 1953 }, { 136, 0, 720 }, + { 138, 0, 203 }, { 7, 10, 2008 }, { 9, 10, 337 }, { 138, 10, 517 }, + { 6, 0, 326 }, { 7, 0, 677 }, { 137, 0, 425 }, { 139, 11, 81 }, + { 7, 0, 1316 }, { 7, 0, 1412 }, { 7, 0, 1839 }, { 9, 0, 589 }, + { 11, 0, 241 }, { 11, 0, 676 }, { 11, 0, 811 }, { 11, 0, 891 }, + { 12, 0, 140 }, { 12, 0, 346 }, { 12, 0, 479 }, { 13, 0, 140 }, + { 13, 0, 381 }, { 14, 0, 188 }, { 18, 0, 30 }, { 148, 0, 108 }, + { 5, 0, 416 }, { 6, 10, 86 }, { 6, 10, 603 }, { 7, 10, 292 }, + { 7, 10, 561 }, { 8, 10, 257 }, { 8, 10, 382 }, { 9, 10, 721 }, + { 9, 10, 778 }, { 11, 10, 581 }, { 140, 10, 466 }, { 4, 10, 486 }, + { 133, 10, 491 }, { 134, 0, 1300 }, { 132, 10, 72 }, { 7, 0, 847 }, + { 6, 10, 265 }, { 7, 11, 430 }, { 139, 11, 46 }, { 5, 11, 602 }, + { 6, 11, 106 }, { 7, 11, 1786 }, { 7, 11, 1821 }, { 7, 11, 2018 }, + { 9, 11, 418 }, { 137, 11, 763 }, { 5, 0, 358 }, { 7, 0, 535 }, + { 7, 0, 1184 }, { 10, 0, 662 }, { 13, 0, 212 }, { 13, 0, 304 }, + { 13, 0, 333 }, { 145, 0, 98 }, { 5, 11, 65 }, { 6, 11, 416 }, + { 7, 11, 1720 }, { 7, 11, 1924 }, { 8, 11, 677 }, { 10, 11, 109 }, + { 11, 11, 14 }, { 11, 11, 70 }, { 11, 11, 569 }, { 11, 11, 735 }, + { 15, 11, 153 }, { 148, 11, 80 }, { 6, 0, 1823 }, { 8, 0, 839 }, + { 8, 0, 852 }, { 8, 0, 903 }, { 10, 0, 940 }, { 12, 0, 707 }, + { 140, 0, 775 }, { 135, 11, 1229 }, { 6, 0, 1522 }, { 140, 0, 654 }, + { 136, 11, 595 }, { 139, 0, 163 }, { 141, 0, 314 }, { 132, 0, 978 }, + { 4, 0, 601 }, { 6, 0, 2035 }, { 137, 10, 234 }, { 5, 10, 815 }, + { 6, 10, 1688 }, { 134, 10, 1755 }, { 133, 0, 946 }, { 136, 0, 434 }, + { 6, 10, 197 }, { 136, 10, 205 }, { 7, 0, 411 }, { 7, 0, 590 }, + { 8, 0, 631 }, { 9, 0, 323 }, { 10, 0, 355 }, { 11, 0, 491 }, + { 12, 0, 143 }, { 12, 0, 402 }, { 13, 0, 73 }, { 14, 0, 408 }, + { 15, 0, 107 }, { 146, 0, 71 }, { 7, 0, 1467 }, { 8, 0, 328 }, + { 10, 0, 544 }, { 11, 0, 955 }, { 12, 0, 13 }, { 13, 0, 320 }, + { 145, 0, 83 }, { 142, 0, 410 }, { 11, 0, 511 }, { 13, 0, 394 }, + { 14, 0, 298 }, { 14, 0, 318 }, { 146, 0, 103 }, { 6, 10, 452 }, + { 7, 10, 312 }, { 138, 10, 219 }, { 138, 10, 589 }, { 4, 10, 333 }, + { 9, 10, 176 }, { 12, 10, 353 }, { 141, 10, 187 }, { 135, 11, 329 }, + { 132, 11, 469 }, { 5, 0, 835 }, { 134, 0, 483 }, { 134, 11, 1743 }, + { 5, 11, 929 }, { 6, 11, 340 }, { 8, 11, 376 }, { 136, 11, 807 }, + { 134, 10, 1685 }, { 132, 0, 677 }, { 5, 11, 218 }, { 7, 11, 1610 }, + { 138, 11, 83 }, { 5, 11, 571 }, { 135, 11, 1842 }, { 132, 11, 455 }, + { 137, 0, 70 }, { 135, 0, 1405 }, { 7, 10, 135 }, { 8, 10, 7 }, + { 8, 10, 62 }, { 9, 10, 243 }, { 10, 10, 658 }, { 10, 10, 697 }, + { 11, 10, 456 }, { 139, 10, 756 }, { 9, 10, 395 }, { 138, 10, 79 }, + { 137, 0, 108 }, { 6, 11, 161 }, { 7, 11, 372 }, { 137, 11, 597 }, + { 132, 11, 349 }, { 132, 0, 777 }, { 132, 0, 331 }, { 135, 10, 631 }, + { 133, 0, 747 }, { 6, 11, 432 }, { 6, 11, 608 }, { 139, 11, 322 }, + { 138, 10, 835 }, { 5, 11, 468 }, { 7, 11, 1809 }, { 10, 11, 325 }, + { 11, 11, 856 }, { 12, 11, 345 }, { 143, 11, 104 }, { 133, 11, 223 }, + { 7, 10, 406 }, { 7, 10, 459 }, { 8, 10, 606 }, { 139, 10, 726 }, + { 132, 11, 566 }, { 142, 0, 68 }, { 4, 11, 59 }, { 135, 11, 1394 }, + { 6, 11, 436 }, { 139, 11, 481 }, { 4, 11, 48 }, { 5, 11, 271 }, + { 135, 11, 953 }, { 139, 11, 170 }, { 5, 11, 610 }, { 136, 11, 457 }, + { 133, 11, 755 }, { 135, 11, 1217 }, { 133, 10, 612 }, { 132, 11, 197 }, + { 132, 0, 505 }, { 4, 10, 372 }, { 7, 10, 482 }, { 8, 10, 158 }, + { 9, 10, 602 }, { 9, 10, 615 }, { 10, 10, 245 }, { 10, 10, 678 }, + { 10, 10, 744 }, { 11, 10, 248 }, { 139, 10, 806 }, { 133, 0, 326 }, + { 5, 10, 854 }, { 135, 10, 1991 }, { 4, 0, 691 }, { 146, 0, 16 }, + { 6, 0, 628 }, { 9, 0, 35 }, { 10, 0, 680 }, { 10, 0, 793 }, + { 11, 0, 364 }, { 13, 0, 357 }, { 143, 0, 164 }, { 138, 0, 654 }, + { 6, 0, 32 }, { 7, 0, 385 }, { 7, 0, 757 }, { 7, 0, 1916 }, + { 8, 0, 37 }, { 8, 0, 94 }, { 8, 0, 711 }, { 9, 0, 541 }, + { 10, 0, 162 }, { 10, 0, 795 }, { 11, 0, 989 }, { 11, 0, 1010 }, + { 12, 0, 14 }, { 142, 0, 308 }, { 133, 11, 217 }, { 6, 0, 152 }, + { 6, 0, 349 }, { 6, 0, 1682 }, { 7, 0, 1252 }, { 8, 0, 112 }, + { 9, 0, 435 }, { 9, 0, 668 }, { 10, 0, 290 }, { 10, 0, 319 }, + { 10, 0, 815 }, { 11, 0, 180 }, { 11, 0, 837 }, { 12, 0, 240 }, + { 13, 0, 152 }, { 13, 0, 219 }, { 142, 0, 158 }, { 4, 0, 581 }, + { 134, 0, 726 }, { 5, 10, 195 }, { 135, 10, 1685 }, { 6, 0, 126 }, + { 7, 0, 573 }, { 8, 0, 397 }, { 142, 0, 44 }, { 138, 0, 89 }, + { 7, 10, 1997 }, { 8, 10, 730 }, { 139, 10, 1006 }, { 134, 0, 1531 }, + { 134, 0, 1167 }, { 5, 0, 926 }, { 12, 0, 203 }, { 133, 10, 751 }, + { 4, 11, 165 }, { 7, 11, 1398 }, { 135, 11, 1829 }, { 7, 0, 1232 }, + { 137, 0, 531 }, { 135, 10, 821 }, { 134, 0, 943 }, { 133, 0, 670 }, + { 4, 0, 880 }, { 139, 0, 231 }, { 134, 0, 1617 }, { 135, 0, 1957 }, + { 5, 11, 9 }, { 7, 11, 297 }, { 7, 11, 966 }, { 140, 11, 306 }, + { 6, 0, 975 }, { 134, 0, 985 }, { 5, 10, 950 }, { 5, 10, 994 }, + { 134, 10, 351 }, { 12, 11, 21 }, { 151, 11, 7 }, { 5, 11, 146 }, + { 6, 11, 411 }, { 138, 11, 721 }, { 7, 0, 242 }, { 135, 0, 1942 }, + { 6, 11, 177 }, { 135, 11, 467 }, { 5, 0, 421 }, { 7, 10, 47 }, + { 137, 10, 684 }, { 5, 0, 834 }, { 7, 0, 1202 }, { 8, 0, 14 }, + { 9, 0, 481 }, { 137, 0, 880 }, { 138, 0, 465 }, { 6, 0, 688 }, + { 9, 0, 834 }, { 132, 10, 350 }, { 132, 0, 855 }, { 4, 0, 357 }, + { 6, 0, 172 }, { 7, 0, 143 }, { 137, 0, 413 }, { 133, 11, 200 }, + { 132, 0, 590 }, { 7, 10, 1812 }, { 13, 10, 259 }, { 13, 10, 356 }, + { 14, 10, 242 }, { 147, 10, 114 }, { 133, 10, 967 }, { 11, 0, 114 }, + { 4, 10, 473 }, { 7, 10, 623 }, { 8, 10, 808 }, { 9, 10, 871 }, + { 9, 10, 893 }, { 11, 10, 431 }, { 12, 10, 112 }, { 12, 10, 217 }, + { 12, 10, 243 }, { 12, 10, 562 }, { 12, 10, 663 }, { 12, 10, 683 }, + { 13, 10, 141 }, { 13, 10, 197 }, { 13, 10, 227 }, { 13, 10, 406 }, + { 13, 10, 487 }, { 14, 10, 156 }, { 14, 10, 203 }, { 14, 10, 224 }, + { 14, 10, 256 }, { 18, 10, 58 }, { 150, 10, 0 }, { 138, 10, 286 }, + { 4, 10, 222 }, { 7, 10, 286 }, { 136, 10, 629 }, { 5, 0, 169 }, + { 7, 0, 333 }, { 136, 0, 45 }, { 134, 11, 481 }, { 132, 0, 198 }, + { 4, 0, 24 }, { 5, 0, 140 }, { 5, 0, 185 }, { 7, 0, 1500 }, + { 11, 0, 565 }, { 11, 0, 838 }, { 4, 11, 84 }, { 7, 11, 1482 }, + { 10, 11, 76 }, { 138, 11, 142 }, { 133, 0, 585 }, { 141, 10, 306 }, + { 133, 11, 1015 }, { 4, 11, 315 }, { 5, 11, 507 }, { 135, 11, 1370 }, + { 136, 10, 146 }, { 6, 0, 691 }, { 134, 0, 1503 }, { 4, 0, 334 }, + { 133, 0, 593 }, { 4, 10, 465 }, { 135, 10, 1663 }, { 142, 11, 173 }, + { 135, 0, 913 }, { 12, 0, 116 }, { 134, 11, 1722 }, { 134, 0, 1360 }, + { 132, 0, 802 }, { 8, 11, 222 }, { 8, 11, 476 }, { 9, 11, 238 }, + { 11, 11, 516 }, { 11, 11, 575 }, { 15, 11, 109 }, { 146, 11, 100 }, + { 6, 0, 308 }, { 9, 0, 673 }, { 7, 10, 138 }, { 7, 10, 517 }, + { 139, 10, 238 }, { 132, 0, 709 }, { 6, 0, 1876 }, { 6, 0, 1895 }, + { 9, 0, 994 }, { 9, 0, 1006 }, { 12, 0, 829 }, { 12, 0, 888 }, + { 12, 0, 891 }, { 146, 0, 185 }, { 148, 10, 94 }, { 4, 0, 228 }, + { 133, 0, 897 }, { 7, 0, 1840 }, { 5, 10, 495 }, { 7, 10, 834 }, + { 9, 10, 733 }, { 139, 10, 378 }, { 133, 10, 559 }, { 6, 10, 21 }, + { 6, 10, 1737 }, { 7, 10, 1444 }, { 136, 10, 224 }, { 4, 0, 608 }, + { 133, 0, 497 }, { 6, 11, 40 }, { 135, 11, 1781 }, { 134, 0, 1573 }, + { 135, 0, 2039 }, { 6, 0, 540 }, { 136, 0, 136 }, { 4, 0, 897 }, + { 5, 0, 786 }, { 133, 10, 519 }, { 6, 0, 1878 }, { 6, 0, 1884 }, + { 9, 0, 938 }, { 9, 0, 948 }, { 9, 0, 955 }, { 9, 0, 973 }, + { 9, 0, 1012 }, { 12, 0, 895 }, { 12, 0, 927 }, { 143, 0, 254 }, + { 134, 0, 1469 }, { 133, 0, 999 }, { 4, 0, 299 }, { 135, 0, 1004 }, + { 4, 0, 745 }, { 133, 0, 578 }, { 136, 11, 574 }, { 133, 0, 456 }, + { 134, 0, 1457 }, { 7, 0, 1679 }, { 132, 10, 402 }, { 7, 0, 693 }, + { 8, 0, 180 }, { 12, 0, 163 }, { 8, 10, 323 }, { 136, 10, 479 }, + { 11, 10, 580 }, { 142, 10, 201 }, { 5, 10, 59 }, { 135, 10, 672 }, + { 132, 11, 354 }, { 146, 10, 34 }, { 4, 0, 755 }, { 135, 11, 1558 }, + { 7, 0, 1740 }, { 146, 0, 48 }, { 4, 10, 85 }, { 135, 10, 549 }, + { 139, 0, 338 }, { 133, 10, 94 }, { 134, 0, 1091 }, { 135, 11, 469 }, + { 12, 0, 695 }, { 12, 0, 704 }, { 20, 0, 113 }, { 5, 11, 830 }, + { 14, 11, 338 }, { 148, 11, 81 }, { 135, 0, 1464 }, { 6, 10, 11 }, + { 135, 10, 187 }, { 135, 0, 975 }, { 13, 0, 335 }, { 132, 10, 522 }, + { 134, 0, 1979 }, { 5, 11, 496 }, { 135, 11, 203 }, { 4, 10, 52 }, + { 135, 10, 661 }, { 7, 0, 1566 }, { 8, 0, 269 }, { 9, 0, 212 }, + { 9, 0, 718 }, { 14, 0, 15 }, { 14, 0, 132 }, { 142, 0, 227 }, + { 4, 0, 890 }, { 5, 0, 805 }, { 5, 0, 819 }, { 5, 0, 961 }, + { 6, 0, 396 }, { 6, 0, 1631 }, { 6, 0, 1678 }, { 7, 0, 1967 }, + { 7, 0, 2041 }, { 9, 0, 630 }, { 11, 0, 8 }, { 11, 0, 1019 }, + { 12, 0, 176 }, { 13, 0, 225 }, { 14, 0, 292 }, { 21, 0, 24 }, + { 4, 10, 383 }, { 133, 10, 520 }, { 134, 11, 547 }, { 135, 11, 1748 }, + { 5, 11, 88 }, { 137, 11, 239 }, { 146, 11, 128 }, { 7, 11, 650 }, + { 135, 11, 1310 }, { 4, 10, 281 }, { 5, 10, 38 }, { 7, 10, 194 }, + { 7, 10, 668 }, { 7, 10, 1893 }, { 137, 10, 397 }, { 135, 0, 1815 }, + { 9, 10, 635 }, { 139, 10, 559 }, { 7, 0, 1505 }, { 10, 0, 190 }, + { 10, 0, 634 }, { 11, 0, 792 }, { 12, 0, 358 }, { 140, 0, 447 }, + { 5, 0, 0 }, { 6, 0, 536 }, { 7, 0, 604 }, { 13, 0, 445 }, + { 145, 0, 126 }, { 7, 11, 1076 }, { 9, 11, 80 }, { 11, 11, 78 }, + { 11, 11, 421 }, { 11, 11, 534 }, { 140, 11, 545 }, { 8, 0, 966 }, + { 10, 0, 1023 }, { 14, 11, 369 }, { 146, 11, 72 }, { 135, 11, 1641 }, + { 6, 0, 232 }, { 6, 0, 412 }, { 7, 0, 1074 }, { 8, 0, 9 }, + { 8, 0, 157 }, { 8, 0, 786 }, { 9, 0, 196 }, { 9, 0, 352 }, + { 9, 0, 457 }, { 10, 0, 337 }, { 11, 0, 232 }, { 11, 0, 877 }, + { 12, 0, 480 }, { 140, 0, 546 }, { 135, 0, 958 }, { 4, 0, 382 }, + { 136, 0, 579 }, { 4, 0, 212 }, { 135, 0, 1206 }, { 4, 11, 497 }, + { 5, 11, 657 }, { 135, 11, 1584 }, { 132, 0, 681 }, { 8, 0, 971 }, + { 138, 0, 965 }, { 5, 10, 448 }, { 136, 10, 535 }, { 14, 0, 16 }, + { 146, 0, 44 }, { 11, 0, 584 }, { 11, 0, 616 }, { 14, 0, 275 }, + { 11, 11, 584 }, { 11, 11, 616 }, { 142, 11, 275 }, { 136, 11, 13 }, + { 7, 10, 610 }, { 135, 10, 1501 }, { 7, 11, 642 }, { 8, 11, 250 }, + { 11, 11, 123 }, { 11, 11, 137 }, { 13, 11, 48 }, { 142, 11, 95 }, + { 133, 0, 655 }, { 17, 0, 67 }, { 147, 0, 74 }, { 134, 0, 751 }, + { 134, 0, 1967 }, { 6, 0, 231 }, { 136, 0, 423 }, { 5, 0, 300 }, + { 138, 0, 1016 }, { 4, 10, 319 }, { 5, 10, 699 }, { 138, 10, 673 }, + { 6, 0, 237 }, { 7, 0, 611 }, { 8, 0, 100 }, { 9, 0, 416 }, + { 11, 0, 335 }, { 12, 0, 173 }, { 18, 0, 101 }, { 6, 10, 336 }, + { 8, 10, 552 }, { 9, 10, 285 }, { 10, 10, 99 }, { 139, 10, 568 }, + { 134, 0, 1370 }, { 7, 10, 1406 }, { 9, 10, 218 }, { 141, 10, 222 }, + { 133, 10, 256 }, { 135, 0, 1208 }, { 14, 11, 213 }, { 148, 11, 38 }, + { 6, 0, 1219 }, { 135, 11, 1642 }, { 13, 0, 417 }, { 14, 0, 129 }, + { 143, 0, 15 }, { 10, 11, 545 }, { 140, 11, 301 }, { 17, 10, 39 }, + { 148, 10, 36 }, { 133, 0, 199 }, { 4, 11, 904 }, { 133, 11, 794 }, + { 12, 0, 427 }, { 146, 0, 38 }, { 134, 0, 949 }, { 8, 0, 665 }, + { 135, 10, 634 }, { 132, 10, 618 }, { 135, 10, 259 }, { 132, 10, 339 }, + { 133, 11, 761 }, { 141, 10, 169 }, { 132, 10, 759 }, { 5, 0, 688 }, + { 7, 0, 539 }, { 135, 0, 712 }, { 7, 11, 386 }, { 138, 11, 713 }, + { 134, 0, 1186 }, { 6, 11, 7 }, { 6, 11, 35 }, { 7, 11, 147 }, + { 7, 11, 1069 }, { 7, 11, 1568 }, { 7, 11, 1575 }, { 7, 11, 1917 }, + { 8, 11, 43 }, { 8, 11, 208 }, { 9, 11, 128 }, { 9, 11, 866 }, + { 10, 11, 20 }, { 11, 11, 981 }, { 147, 11, 33 }, { 7, 11, 893 }, + { 8, 10, 482 }, { 141, 11, 424 }, { 6, 0, 312 }, { 6, 0, 1715 }, + { 10, 0, 584 }, { 11, 0, 546 }, { 11, 0, 692 }, { 12, 0, 259 }, + { 12, 0, 295 }, { 13, 0, 46 }, { 141, 0, 154 }, { 5, 10, 336 }, + { 6, 10, 341 }, { 6, 10, 478 }, { 6, 10, 1763 }, { 136, 10, 386 }, + { 137, 0, 151 }, { 132, 0, 588 }, { 152, 0, 4 }, { 6, 11, 322 }, + { 9, 11, 552 }, { 11, 11, 274 }, { 13, 11, 209 }, { 13, 11, 499 }, + { 14, 11, 85 }, { 15, 11, 126 }, { 145, 11, 70 }, { 135, 10, 73 }, + { 4, 0, 231 }, { 5, 0, 61 }, { 6, 0, 104 }, { 7, 0, 729 }, + { 7, 0, 964 }, { 7, 0, 1658 }, { 140, 0, 414 }, { 6, 0, 263 }, + { 138, 0, 757 }, { 135, 10, 1971 }, { 4, 0, 612 }, { 133, 0, 561 }, + { 132, 0, 320 }, { 135, 10, 1344 }, { 8, 11, 83 }, { 8, 11, 817 }, + { 9, 11, 28 }, { 9, 11, 29 }, { 9, 11, 885 }, { 10, 11, 387 }, + { 11, 11, 633 }, { 11, 11, 740 }, { 13, 11, 235 }, { 13, 11, 254 }, + { 15, 11, 143 }, { 143, 11, 146 }, { 5, 10, 396 }, { 134, 10, 501 }, + { 140, 11, 49 }, { 132, 0, 225 }, { 4, 10, 929 }, { 5, 10, 799 }, + { 8, 10, 46 }, { 136, 10, 740 }, { 4, 0, 405 }, { 7, 0, 817 }, + { 14, 0, 58 }, { 17, 0, 37 }, { 146, 0, 124 }, { 133, 0, 974 }, + { 4, 11, 412 }, { 133, 11, 581 }, { 4, 10, 892 }, { 133, 10, 770 }, + { 4, 0, 996 }, { 134, 0, 2026 }, { 4, 0, 527 }, { 5, 0, 235 }, + { 7, 0, 1239 }, { 11, 0, 131 }, { 140, 0, 370 }, { 9, 0, 16 }, + { 13, 0, 386 }, { 135, 11, 421 }, { 7, 0, 956 }, { 7, 0, 1157 }, + { 7, 0, 1506 }, { 7, 0, 1606 }, { 7, 0, 1615 }, { 7, 0, 1619 }, + { 7, 0, 1736 }, { 7, 0, 1775 }, { 8, 0, 590 }, { 9, 0, 324 }, + { 9, 0, 736 }, { 9, 0, 774 }, { 9, 0, 776 }, { 9, 0, 784 }, + { 10, 0, 567 }, { 10, 0, 708 }, { 11, 0, 518 }, { 11, 0, 613 }, + { 11, 0, 695 }, { 11, 0, 716 }, { 11, 0, 739 }, { 11, 0, 770 }, + { 11, 0, 771 }, { 11, 0, 848 }, { 11, 0, 857 }, { 11, 0, 931 }, + { 11, 0, 947 }, { 12, 0, 326 }, { 12, 0, 387 }, { 12, 0, 484 }, + { 12, 0, 528 }, { 12, 0, 552 }, { 12, 0, 613 }, { 13, 0, 189 }, + { 13, 0, 256 }, { 13, 0, 340 }, { 13, 0, 432 }, { 13, 0, 436 }, + { 13, 0, 440 }, { 13, 0, 454 }, { 14, 0, 174 }, { 14, 0, 220 }, + { 14, 0, 284 }, { 14, 0, 390 }, { 145, 0, 121 }, { 135, 10, 158 }, + { 9, 0, 137 }, { 138, 0, 221 }, { 4, 11, 110 }, { 10, 11, 415 }, + { 10, 11, 597 }, { 142, 11, 206 }, { 141, 11, 496 }, { 135, 11, 205 }, + { 151, 10, 25 }, { 135, 11, 778 }, { 7, 11, 1656 }, { 7, 10, 2001 }, + { 9, 11, 369 }, { 10, 11, 338 }, { 10, 11, 490 }, { 11, 11, 154 }, + { 11, 11, 545 }, { 11, 11, 775 }, { 13, 11, 77 }, { 141, 11, 274 }, + { 4, 11, 444 }, { 10, 11, 146 }, { 140, 11, 9 }, { 7, 0, 390 }, + { 138, 0, 140 }, { 135, 0, 1144 }, { 134, 0, 464 }, { 7, 10, 1461 }, + { 140, 10, 91 }, { 132, 10, 602 }, { 4, 11, 283 }, { 135, 11, 1194 }, + { 5, 0, 407 }, { 11, 0, 204 }, { 11, 0, 243 }, { 11, 0, 489 }, + { 12, 0, 293 }, { 19, 0, 37 }, { 20, 0, 73 }, { 150, 0, 38 }, + { 7, 0, 1218 }, { 136, 0, 303 }, { 5, 0, 325 }, { 8, 0, 5 }, + { 8, 0, 227 }, { 9, 0, 105 }, { 10, 0, 585 }, { 12, 0, 614 }, + { 4, 10, 13 }, { 5, 10, 567 }, { 7, 10, 1498 }, { 9, 10, 124 }, + { 11, 10, 521 }, { 140, 10, 405 }, { 135, 10, 1006 }, { 7, 0, 800 }, + { 10, 0, 12 }, { 134, 11, 1720 }, { 135, 0, 1783 }, { 132, 10, 735 }, + { 138, 10, 812 }, { 4, 10, 170 }, { 135, 10, 323 }, { 6, 0, 621 }, + { 13, 0, 504 }, { 144, 0, 89 }, { 5, 10, 304 }, { 135, 10, 1403 }, + { 137, 11, 216 }, { 6, 0, 920 }, { 6, 0, 1104 }, { 9, 11, 183 }, + { 139, 11, 286 }, { 4, 0, 376 }, { 133, 10, 742 }, { 134, 0, 218 }, + { 8, 0, 641 }, { 11, 0, 388 }, { 140, 0, 580 }, { 7, 0, 454 }, + { 7, 0, 782 }, { 8, 0, 768 }, { 140, 0, 686 }, { 137, 11, 33 }, + { 133, 10, 111 }, { 144, 0, 0 }, { 10, 0, 676 }, { 140, 0, 462 }, + { 6, 0, 164 }, { 136, 11, 735 }, { 133, 10, 444 }, { 150, 0, 50 }, + { 7, 11, 1862 }, { 12, 11, 491 }, { 12, 11, 520 }, { 13, 11, 383 }, + { 14, 11, 244 }, { 146, 11, 12 }, { 5, 11, 132 }, { 9, 11, 486 }, + { 9, 11, 715 }, { 10, 11, 458 }, { 11, 11, 373 }, { 11, 11, 668 }, + { 11, 11, 795 }, { 11, 11, 897 }, { 12, 11, 272 }, { 12, 11, 424 }, + { 12, 11, 539 }, { 12, 11, 558 }, { 14, 11, 245 }, { 14, 11, 263 }, + { 14, 11, 264 }, { 14, 11, 393 }, { 142, 11, 403 }, { 8, 10, 123 }, + { 15, 10, 6 }, { 144, 10, 7 }, { 6, 0, 285 }, { 8, 0, 654 }, + { 11, 0, 749 }, { 12, 0, 190 }, { 12, 0, 327 }, { 13, 0, 120 }, + { 13, 0, 121 }, { 13, 0, 327 }, { 15, 0, 47 }, { 146, 0, 40 }, + { 5, 11, 8 }, { 6, 11, 89 }, { 6, 11, 400 }, { 7, 11, 1569 }, + { 7, 11, 1623 }, { 7, 11, 1850 }, { 8, 11, 218 }, { 8, 11, 422 }, + { 9, 11, 570 }, { 138, 11, 626 }, { 6, 11, 387 }, { 7, 11, 882 }, + { 141, 11, 111 }, { 6, 0, 343 }, { 7, 0, 195 }, { 9, 0, 226 }, + { 10, 0, 197 }, { 10, 0, 575 }, { 11, 0, 502 }, { 11, 0, 899 }, + { 6, 11, 224 }, { 7, 11, 877 }, { 137, 11, 647 }, { 5, 10, 937 }, + { 135, 10, 100 }, { 135, 11, 790 }, { 150, 0, 29 }, { 147, 0, 8 }, + { 134, 0, 1812 }, { 149, 0, 8 }, { 135, 11, 394 }, { 7, 0, 1125 }, + { 9, 0, 143 }, { 11, 0, 61 }, { 14, 0, 405 }, { 150, 0, 21 }, + { 10, 11, 755 }, { 147, 11, 29 }, { 9, 11, 378 }, { 141, 11, 162 }, + { 135, 10, 922 }, { 5, 10, 619 }, { 133, 10, 698 }, { 134, 0, 1327 }, + { 6, 0, 1598 }, { 137, 0, 575 }, { 9, 11, 569 }, { 12, 11, 12 }, + { 12, 11, 81 }, { 12, 11, 319 }, { 13, 11, 69 }, { 14, 11, 259 }, + { 16, 11, 87 }, { 17, 11, 1 }, { 17, 11, 21 }, { 17, 11, 24 }, + { 18, 11, 15 }, { 18, 11, 56 }, { 18, 11, 59 }, { 18, 11, 127 }, + { 18, 11, 154 }, { 19, 11, 19 }, { 148, 11, 31 }, { 6, 0, 895 }, + { 135, 11, 1231 }, { 5, 0, 959 }, { 7, 11, 124 }, { 136, 11, 38 }, + { 5, 11, 261 }, { 7, 11, 78 }, { 7, 11, 199 }, { 8, 11, 815 }, + { 9, 11, 126 }, { 138, 11, 342 }, { 5, 10, 917 }, { 134, 10, 1659 }, + { 7, 0, 1759 }, { 5, 11, 595 }, { 135, 11, 1863 }, { 136, 0, 173 }, + { 134, 0, 266 }, { 142, 0, 261 }, { 132, 11, 628 }, { 5, 10, 251 }, + { 5, 10, 956 }, { 8, 10, 268 }, { 9, 10, 214 }, { 146, 10, 142 }, + { 7, 11, 266 }, { 136, 11, 804 }, { 135, 11, 208 }, { 6, 11, 79 }, + { 7, 11, 1021 }, { 135, 11, 1519 }, { 11, 11, 704 }, { 141, 11, 396 }, + { 5, 10, 346 }, { 5, 10, 711 }, { 136, 10, 390 }, { 136, 11, 741 }, + { 134, 11, 376 }, { 134, 0, 1427 }, { 6, 0, 1033 }, { 6, 0, 1217 }, + { 136, 0, 300 }, { 133, 10, 624 }, { 6, 11, 100 }, { 7, 11, 244 }, + { 7, 11, 632 }, { 7, 11, 1609 }, { 8, 11, 178 }, { 8, 11, 638 }, + { 141, 11, 58 }, { 6, 0, 584 }, { 5, 10, 783 }, { 7, 10, 1998 }, + { 135, 10, 2047 }, { 5, 0, 427 }, { 5, 0, 734 }, { 7, 0, 478 }, + { 136, 0, 52 }, { 7, 0, 239 }, { 11, 0, 217 }, { 142, 0, 165 }, + { 134, 0, 1129 }, { 6, 0, 168 }, { 6, 0, 1734 }, { 7, 0, 20 }, + { 7, 0, 1056 }, { 8, 0, 732 }, { 9, 0, 406 }, { 9, 0, 911 }, + { 138, 0, 694 }, { 132, 10, 594 }, { 133, 11, 791 }, { 7, 11, 686 }, + { 8, 11, 33 }, { 8, 11, 238 }, { 10, 11, 616 }, { 11, 11, 467 }, + { 11, 11, 881 }, { 13, 11, 217 }, { 13, 11, 253 }, { 142, 11, 268 }, + { 137, 11, 476 }, { 134, 0, 418 }, { 133, 0, 613 }, { 132, 0, 632 }, + { 132, 11, 447 }, { 7, 0, 32 }, { 7, 0, 984 }, { 8, 0, 85 }, + { 8, 0, 709 }, { 9, 0, 579 }, { 9, 0, 847 }, { 9, 0, 856 }, + { 10, 0, 799 }, { 11, 0, 258 }, { 11, 0, 1007 }, { 12, 0, 331 }, + { 12, 0, 615 }, { 13, 0, 188 }, { 13, 0, 435 }, { 14, 0, 8 }, + { 15, 0, 165 }, { 16, 0, 27 }, { 20, 0, 40 }, { 144, 11, 35 }, + { 4, 11, 128 }, { 5, 11, 415 }, { 6, 11, 462 }, { 7, 11, 294 }, + { 7, 11, 578 }, { 10, 11, 710 }, { 139, 11, 86 }, { 5, 0, 694 }, + { 136, 0, 909 }, { 7, 0, 1109 }, { 11, 0, 7 }, { 5, 10, 37 }, + { 6, 10, 39 }, { 6, 10, 451 }, { 7, 10, 218 }, { 7, 10, 1166 }, + { 7, 10, 1687 }, { 8, 10, 662 }, { 144, 10, 2 }, { 136, 11, 587 }, + { 6, 11, 427 }, { 7, 11, 1018 }, { 138, 11, 692 }, { 4, 11, 195 }, + { 6, 10, 508 }, { 135, 11, 802 }, { 4, 0, 167 }, { 135, 0, 82 }, + { 5, 0, 62 }, { 6, 0, 24 }, { 6, 0, 534 }, { 7, 0, 74 }, + { 7, 0, 678 }, { 7, 0, 684 }, { 7, 0, 1043 }, { 7, 0, 1072 }, + { 8, 0, 280 }, { 8, 0, 541 }, { 8, 0, 686 }, { 9, 0, 258 }, + { 10, 0, 519 }, { 11, 0, 252 }, { 140, 0, 282 }, { 138, 0, 33 }, + { 4, 0, 359 }, { 133, 11, 738 }, { 7, 0, 980 }, { 9, 0, 328 }, + { 13, 0, 186 }, { 13, 0, 364 }, { 7, 10, 635 }, { 7, 10, 796 }, + { 8, 10, 331 }, { 9, 10, 330 }, { 9, 10, 865 }, { 10, 10, 119 }, + { 10, 10, 235 }, { 11, 10, 111 }, { 11, 10, 129 }, { 11, 10, 240 }, + { 12, 10, 31 }, { 12, 10, 66 }, { 12, 10, 222 }, { 12, 10, 269 }, + { 12, 10, 599 }, { 12, 10, 684 }, { 12, 10, 689 }, { 12, 10, 691 }, + { 142, 10, 345 }, { 137, 10, 527 }, { 6, 0, 596 }, { 7, 0, 585 }, + { 135, 10, 702 }, { 134, 11, 1683 }, { 133, 0, 211 }, { 6, 0, 145 }, + { 141, 0, 336 }, { 134, 0, 1130 }, { 7, 0, 873 }, { 6, 10, 37 }, + { 7, 10, 1666 }, { 8, 10, 195 }, { 8, 10, 316 }, { 9, 10, 178 }, + { 9, 10, 276 }, { 9, 10, 339 }, { 9, 10, 536 }, { 10, 10, 102 }, + { 10, 10, 362 }, { 10, 10, 785 }, { 11, 10, 55 }, { 11, 10, 149 }, + { 11, 10, 773 }, { 13, 10, 416 }, { 13, 10, 419 }, { 14, 10, 38 }, + { 14, 10, 41 }, { 142, 10, 210 }, { 8, 0, 840 }, { 136, 0, 841 }, + { 132, 0, 263 }, { 5, 11, 3 }, { 8, 11, 578 }, { 9, 11, 118 }, + { 10, 11, 705 }, { 12, 11, 383 }, { 141, 11, 279 }, { 132, 0, 916 }, + { 133, 11, 229 }, { 133, 10, 645 }, { 15, 0, 155 }, { 16, 0, 79 }, + { 8, 11, 102 }, { 10, 11, 578 }, { 10, 11, 672 }, { 12, 11, 496 }, + { 13, 11, 408 }, { 14, 11, 121 }, { 145, 11, 106 }, { 4, 0, 599 }, + { 5, 0, 592 }, { 6, 0, 1634 }, { 7, 0, 5 }, { 7, 0, 55 }, + { 7, 0, 67 }, { 7, 0, 97 }, { 7, 0, 691 }, { 7, 0, 979 }, + { 7, 0, 1600 }, { 7, 0, 1697 }, { 8, 0, 207 }, { 8, 0, 214 }, + { 8, 0, 231 }, { 8, 0, 294 }, { 8, 0, 336 }, { 8, 0, 428 }, + { 8, 0, 471 }, { 8, 0, 622 }, { 8, 0, 626 }, { 8, 0, 679 }, + { 8, 0, 759 }, { 8, 0, 829 }, { 9, 0, 11 }, { 9, 0, 246 }, + { 9, 0, 484 }, { 9, 0, 573 }, { 9, 0, 706 }, { 9, 0, 762 }, + { 9, 0, 798 }, { 9, 0, 855 }, { 9, 0, 870 }, { 9, 0, 912 }, + { 10, 0, 303 }, { 10, 0, 335 }, { 10, 0, 424 }, { 10, 0, 461 }, + { 10, 0, 543 }, { 10, 0, 759 }, { 10, 0, 814 }, { 11, 0, 59 }, + { 11, 0, 199 }, { 11, 0, 235 }, { 11, 0, 590 }, { 11, 0, 631 }, + { 11, 0, 929 }, { 11, 0, 963 }, { 11, 0, 987 }, { 12, 0, 114 }, + { 12, 0, 182 }, { 12, 0, 226 }, { 12, 0, 332 }, { 12, 0, 439 }, + { 12, 0, 575 }, { 12, 0, 598 }, { 12, 0, 675 }, { 13, 0, 8 }, + { 13, 0, 125 }, { 13, 0, 194 }, { 13, 0, 287 }, { 14, 0, 197 }, + { 14, 0, 383 }, { 15, 0, 53 }, { 17, 0, 63 }, { 19, 0, 46 }, + { 19, 0, 98 }, { 19, 0, 106 }, { 148, 0, 85 }, { 7, 0, 1356 }, + { 132, 10, 290 }, { 6, 10, 70 }, { 7, 10, 1292 }, { 10, 10, 762 }, + { 139, 10, 288 }, { 150, 11, 55 }, { 4, 0, 593 }, { 8, 11, 115 }, + { 8, 11, 350 }, { 9, 11, 489 }, { 10, 11, 128 }, { 11, 11, 306 }, + { 12, 11, 373 }, { 14, 11, 30 }, { 17, 11, 79 }, { 147, 11, 80 }, + { 135, 11, 1235 }, { 134, 0, 1392 }, { 4, 11, 230 }, { 133, 11, 702 }, + { 147, 0, 126 }, { 7, 10, 131 }, { 7, 10, 422 }, { 8, 10, 210 }, + { 140, 10, 573 }, { 134, 0, 1179 }, { 139, 11, 435 }, { 139, 10, 797 }, + { 134, 11, 1728 }, { 4, 0, 162 }, { 18, 11, 26 }, { 19, 11, 42 }, + { 20, 11, 43 }, { 21, 11, 0 }, { 23, 11, 27 }, { 152, 11, 14 }, + { 132, 10, 936 }, { 6, 0, 765 }, { 5, 10, 453 }, { 134, 10, 441 }, + { 133, 0, 187 }, { 135, 0, 1286 }, { 6, 0, 635 }, { 6, 0, 904 }, + { 6, 0, 1210 }, { 134, 0, 1489 }, { 4, 0, 215 }, { 8, 0, 890 }, + { 9, 0, 38 }, { 10, 0, 923 }, { 11, 0, 23 }, { 11, 0, 127 }, + { 139, 0, 796 }, { 6, 0, 1165 }, { 134, 0, 1306 }, { 7, 0, 716 }, + { 13, 0, 97 }, { 141, 0, 251 }, { 132, 10, 653 }, { 136, 0, 657 }, + { 146, 10, 80 }, { 5, 11, 622 }, { 7, 11, 1032 }, { 11, 11, 26 }, + { 11, 11, 213 }, { 11, 11, 707 }, { 12, 11, 380 }, { 13, 11, 226 }, + { 141, 11, 355 }, { 6, 0, 299 }, { 5, 11, 70 }, { 6, 11, 334 }, + { 9, 11, 171 }, { 11, 11, 637 }, { 12, 11, 202 }, { 14, 11, 222 }, + { 145, 11, 42 }, { 142, 0, 134 }, { 4, 11, 23 }, { 5, 11, 313 }, + { 5, 11, 1014 }, { 6, 11, 50 }, { 6, 11, 51 }, { 7, 11, 142 }, + { 7, 11, 384 }, { 9, 11, 783 }, { 139, 11, 741 }, { 4, 11, 141 }, + { 7, 11, 559 }, { 8, 11, 640 }, { 9, 11, 460 }, { 12, 11, 183 }, + { 141, 11, 488 }, { 136, 11, 614 }, { 7, 10, 1368 }, { 8, 10, 232 }, + { 8, 10, 361 }, { 10, 10, 682 }, { 138, 10, 742 }, { 137, 10, 534 }, + { 6, 0, 1082 }, { 140, 0, 658 }, { 137, 10, 27 }, { 135, 0, 2002 }, + { 142, 10, 12 }, { 4, 0, 28 }, { 5, 0, 440 }, { 7, 0, 248 }, + { 11, 0, 833 }, { 140, 0, 344 }, { 7, 10, 736 }, { 139, 10, 264 }, + { 134, 10, 1657 }, { 134, 0, 1654 }, { 138, 0, 531 }, { 5, 11, 222 }, + { 9, 11, 140 }, { 138, 11, 534 }, { 6, 0, 634 }, { 6, 0, 798 }, + { 134, 0, 840 }, { 138, 11, 503 }, { 135, 10, 127 }, { 133, 0, 853 }, + { 5, 11, 154 }, { 7, 11, 1491 }, { 10, 11, 379 }, { 138, 11, 485 }, + { 6, 0, 249 }, { 7, 0, 1234 }, { 139, 0, 573 }, { 133, 11, 716 }, + { 7, 11, 1570 }, { 140, 11, 542 }, { 136, 10, 364 }, { 138, 0, 527 }, + { 4, 11, 91 }, { 5, 11, 388 }, { 5, 11, 845 }, { 6, 11, 206 }, + { 6, 11, 252 }, { 6, 11, 365 }, { 7, 11, 136 }, { 7, 11, 531 }, + { 8, 11, 264 }, { 136, 11, 621 }, { 134, 0, 1419 }, { 135, 11, 1441 }, + { 7, 0, 49 }, { 7, 0, 392 }, { 8, 0, 20 }, { 8, 0, 172 }, + { 8, 0, 690 }, { 9, 0, 383 }, { 9, 0, 845 }, { 10, 0, 48 }, + { 11, 0, 293 }, { 11, 0, 832 }, { 11, 0, 920 }, { 11, 0, 984 }, + { 141, 0, 221 }, { 5, 0, 858 }, { 133, 0, 992 }, { 5, 0, 728 }, + { 137, 10, 792 }, { 5, 10, 909 }, { 9, 10, 849 }, { 138, 10, 805 }, + { 7, 0, 525 }, { 7, 0, 1579 }, { 8, 0, 497 }, { 136, 0, 573 }, + { 6, 0, 268 }, { 137, 0, 62 }, { 135, 11, 576 }, { 134, 0, 1201 }, + { 5, 11, 771 }, { 5, 11, 863 }, { 5, 11, 898 }, { 6, 11, 1632 }, + { 6, 11, 1644 }, { 134, 11, 1780 }, { 133, 11, 331 }, { 7, 0, 193 }, + { 7, 0, 1105 }, { 10, 0, 495 }, { 7, 10, 397 }, { 8, 10, 124 }, + { 8, 10, 619 }, { 9, 10, 305 }, { 11, 10, 40 }, { 12, 10, 349 }, + { 13, 10, 134 }, { 13, 10, 295 }, { 14, 10, 155 }, { 15, 10, 120 }, + { 146, 10, 105 }, { 138, 0, 106 }, { 6, 0, 859 }, { 5, 11, 107 }, + { 7, 11, 201 }, { 136, 11, 518 }, { 6, 11, 446 }, { 135, 11, 1817 }, + { 13, 0, 23 }, { 4, 10, 262 }, { 135, 10, 342 }, { 133, 10, 641 }, + { 137, 11, 851 }, { 6, 0, 925 }, { 137, 0, 813 }, { 132, 11, 504 }, + { 6, 0, 613 }, { 136, 0, 223 }, { 4, 10, 99 }, { 6, 10, 250 }, + { 6, 10, 346 }, { 8, 10, 127 }, { 138, 10, 81 }, { 136, 0, 953 }, + { 132, 10, 915 }, { 139, 11, 892 }, { 5, 10, 75 }, { 9, 10, 517 }, + { 10, 10, 470 }, { 12, 10, 155 }, { 141, 10, 224 }, { 4, 0, 666 }, + { 7, 0, 1017 }, { 7, 11, 996 }, { 138, 11, 390 }, { 5, 11, 883 }, + { 133, 11, 975 }, { 14, 10, 83 }, { 142, 11, 83 }, { 4, 0, 670 }, + { 5, 11, 922 }, { 134, 11, 1707 }, { 135, 0, 216 }, { 9, 0, 40 }, + { 11, 0, 136 }, { 135, 11, 787 }, { 5, 10, 954 }, { 5, 11, 993 }, + { 7, 11, 515 }, { 137, 11, 91 }, { 139, 0, 259 }, { 7, 0, 1114 }, + { 9, 0, 310 }, { 9, 0, 682 }, { 10, 0, 440 }, { 13, 0, 40 }, + { 6, 10, 304 }, { 8, 10, 418 }, { 11, 10, 341 }, { 139, 10, 675 }, + { 14, 0, 296 }, { 9, 10, 410 }, { 139, 10, 425 }, { 10, 11, 377 }, + { 12, 11, 363 }, { 13, 11, 68 }, { 13, 11, 94 }, { 14, 11, 108 }, + { 142, 11, 306 }, { 7, 0, 1401 }, { 135, 0, 1476 }, { 4, 0, 296 }, + { 6, 0, 475 }, { 7, 0, 401 }, { 7, 0, 1410 }, { 7, 0, 1594 }, + { 7, 0, 1674 }, { 8, 0, 63 }, { 8, 0, 660 }, { 137, 0, 74 }, + { 4, 0, 139 }, { 4, 0, 388 }, { 140, 0, 188 }, { 132, 0, 797 }, + { 132, 11, 766 }, { 5, 11, 103 }, { 7, 11, 921 }, { 8, 11, 580 }, + { 8, 11, 593 }, { 8, 11, 630 }, { 138, 11, 28 }, { 4, 11, 911 }, + { 5, 11, 867 }, { 133, 11, 1013 }, { 134, 10, 14 }, { 134, 0, 1572 }, + { 134, 10, 1708 }, { 21, 0, 39 }, { 5, 10, 113 }, { 6, 10, 243 }, + { 7, 10, 1865 }, { 11, 10, 161 }, { 16, 10, 37 }, { 145, 10, 99 }, + { 7, 11, 1563 }, { 141, 11, 182 }, { 5, 11, 135 }, { 6, 11, 519 }, + { 7, 11, 1722 }, { 10, 11, 271 }, { 11, 11, 261 }, { 145, 11, 54 }, + { 132, 10, 274 }, { 134, 0, 1594 }, { 4, 11, 300 }, { 5, 11, 436 }, + { 135, 11, 484 }, { 4, 0, 747 }, { 6, 0, 290 }, { 7, 0, 649 }, + { 7, 0, 1479 }, { 135, 0, 1583 }, { 133, 11, 535 }, { 147, 11, 82 }, + { 133, 0, 232 }, { 137, 0, 887 }, { 135, 10, 166 }, { 136, 0, 521 }, + { 4, 0, 14 }, { 7, 0, 472 }, { 7, 0, 1801 }, { 10, 0, 748 }, + { 141, 0, 458 }, { 134, 0, 741 }, { 134, 0, 992 }, { 16, 0, 111 }, + { 137, 10, 304 }, { 4, 0, 425 }, { 5, 11, 387 }, { 7, 11, 557 }, + { 12, 11, 547 }, { 142, 11, 86 }, { 135, 11, 1747 }, { 5, 10, 654 }, + { 135, 11, 1489 }, { 7, 0, 789 }, { 4, 11, 6 }, { 5, 11, 708 }, + { 136, 11, 75 }, { 6, 10, 273 }, { 10, 10, 188 }, { 13, 10, 377 }, + { 146, 10, 77 }, { 6, 0, 1593 }, { 4, 11, 303 }, { 7, 11, 619 }, + { 10, 11, 547 }, { 10, 11, 687 }, { 11, 11, 122 }, { 140, 11, 601 }, + { 134, 0, 1768 }, { 135, 10, 410 }, { 138, 11, 772 }, { 11, 0, 233 }, + { 139, 10, 524 }, { 5, 0, 943 }, { 134, 0, 1779 }, { 134, 10, 1785 }, + { 136, 11, 529 }, { 132, 0, 955 }, { 5, 0, 245 }, { 6, 0, 576 }, + { 7, 0, 582 }, { 136, 0, 225 }, { 132, 10, 780 }, { 142, 0, 241 }, + { 134, 0, 1943 }, { 4, 11, 106 }, { 7, 11, 310 }, { 7, 11, 1785 }, + { 10, 11, 690 }, { 139, 11, 717 }, { 134, 0, 1284 }, { 5, 11, 890 }, + { 133, 11, 988 }, { 6, 11, 626 }, { 142, 11, 431 }, { 10, 11, 706 }, + { 145, 11, 32 }, { 137, 11, 332 }, { 132, 11, 698 }, { 135, 0, 709 }, + { 5, 10, 948 }, { 138, 11, 17 }, { 136, 0, 554 }, { 134, 0, 1564 }, + { 139, 10, 941 }, { 132, 0, 443 }, { 134, 0, 909 }, { 134, 11, 84 }, + { 142, 0, 280 }, { 4, 10, 532 }, { 5, 10, 706 }, { 135, 10, 662 }, + { 132, 0, 729 }, { 5, 10, 837 }, { 6, 10, 1651 }, { 139, 10, 985 }, + { 135, 10, 1861 }, { 4, 0, 348 }, { 152, 11, 3 }, { 5, 11, 986 }, + { 6, 11, 130 }, { 7, 11, 1582 }, { 8, 11, 458 }, { 10, 11, 101 }, + { 10, 11, 318 }, { 138, 11, 823 }, { 134, 0, 758 }, { 4, 0, 298 }, + { 137, 0, 848 }, { 4, 10, 330 }, { 7, 10, 933 }, { 7, 10, 2012 }, + { 136, 10, 292 }, { 7, 11, 1644 }, { 137, 11, 129 }, { 6, 0, 1422 }, + { 9, 0, 829 }, { 135, 10, 767 }, { 5, 0, 164 }, { 7, 0, 121 }, + { 142, 0, 189 }, { 7, 0, 812 }, { 7, 0, 1261 }, { 7, 0, 1360 }, + { 9, 0, 632 }, { 140, 0, 352 }, { 135, 11, 1788 }, { 139, 0, 556 }, + { 135, 11, 997 }, { 145, 10, 114 }, { 4, 0, 172 }, { 9, 0, 611 }, + { 10, 0, 436 }, { 12, 0, 673 }, { 13, 0, 255 }, { 137, 10, 883 }, + { 11, 0, 530 }, { 138, 10, 274 }, { 133, 0, 844 }, { 134, 0, 984 }, + { 13, 0, 232 }, { 18, 0, 35 }, { 4, 10, 703 }, { 135, 10, 207 }, + { 132, 10, 571 }, { 9, 0, 263 }, { 10, 0, 147 }, { 138, 0, 492 }, + { 7, 11, 1756 }, { 137, 11, 98 }, { 5, 10, 873 }, { 5, 10, 960 }, + { 8, 10, 823 }, { 137, 10, 881 }, { 133, 0, 537 }, { 132, 0, 859 }, + { 7, 11, 1046 }, { 139, 11, 160 }, { 137, 0, 842 }, { 139, 10, 283 }, + { 5, 10, 33 }, { 6, 10, 470 }, { 139, 10, 424 }, { 6, 11, 45 }, + { 7, 11, 433 }, { 8, 11, 129 }, { 9, 11, 21 }, { 10, 11, 392 }, + { 11, 11, 79 }, { 12, 11, 499 }, { 13, 11, 199 }, { 141, 11, 451 }, + { 135, 0, 1291 }, { 135, 10, 1882 }, { 7, 11, 558 }, { 136, 11, 353 }, + { 134, 0, 1482 }, { 5, 0, 230 }, { 5, 0, 392 }, { 6, 0, 420 }, + { 9, 0, 568 }, { 140, 0, 612 }, { 6, 0, 262 }, { 7, 10, 90 }, + { 7, 10, 664 }, { 7, 10, 830 }, { 7, 10, 1380 }, { 7, 10, 2025 }, + { 8, 11, 81 }, { 8, 10, 448 }, { 8, 10, 828 }, { 9, 11, 189 }, + { 9, 11, 201 }, { 11, 11, 478 }, { 11, 11, 712 }, { 141, 11, 338 }, + { 142, 0, 31 }, { 5, 11, 353 }, { 151, 11, 26 }, { 132, 0, 753 }, + { 4, 0, 0 }, { 5, 0, 41 }, { 7, 0, 1459 }, { 7, 0, 1469 }, + { 7, 0, 1859 }, { 9, 0, 549 }, { 139, 0, 905 }, { 9, 10, 417 }, + { 137, 10, 493 }, { 135, 11, 1113 }, { 133, 0, 696 }, { 141, 11, 448 }, + { 134, 10, 295 }, { 132, 0, 834 }, { 4, 0, 771 }, { 5, 10, 1019 }, + { 6, 11, 25 }, { 7, 11, 855 }, { 7, 11, 1258 }, { 144, 11, 32 }, + { 134, 0, 1076 }, { 133, 0, 921 }, { 133, 0, 674 }, { 4, 11, 4 }, + { 7, 11, 1118 }, { 7, 11, 1320 }, { 7, 11, 1706 }, { 8, 11, 277 }, + { 9, 11, 622 }, { 10, 11, 9 }, { 11, 11, 724 }, { 12, 11, 350 }, + { 12, 11, 397 }, { 13, 11, 28 }, { 13, 11, 159 }, { 15, 11, 89 }, + { 18, 11, 5 }, { 19, 11, 9 }, { 20, 11, 34 }, { 150, 11, 47 }, + { 134, 10, 208 }, { 6, 0, 444 }, { 136, 0, 308 }, { 6, 0, 180 }, + { 7, 0, 1137 }, { 8, 0, 751 }, { 139, 0, 805 }, { 4, 0, 183 }, + { 7, 0, 271 }, { 11, 0, 824 }, { 11, 0, 952 }, { 13, 0, 278 }, + { 13, 0, 339 }, { 13, 0, 482 }, { 14, 0, 424 }, { 148, 0, 99 }, + { 7, 11, 317 }, { 135, 11, 569 }, { 4, 0, 19 }, { 5, 0, 477 }, + { 5, 0, 596 }, { 6, 0, 505 }, { 7, 0, 1221 }, { 11, 0, 907 }, + { 12, 0, 209 }, { 141, 0, 214 }, { 135, 0, 1215 }, { 6, 0, 271 }, + { 7, 0, 398 }, { 8, 0, 387 }, { 10, 0, 344 }, { 7, 10, 448 }, + { 7, 10, 1629 }, { 7, 10, 1813 }, { 8, 10, 442 }, { 9, 10, 710 }, + { 10, 10, 282 }, { 138, 10, 722 }, { 11, 10, 844 }, { 12, 10, 104 }, + { 140, 10, 625 }, { 134, 11, 255 }, { 133, 10, 787 }, { 134, 0, 1645 }, + { 11, 11, 956 }, { 151, 11, 3 }, { 6, 0, 92 }, { 6, 0, 188 }, + { 7, 0, 209 }, { 7, 0, 1269 }, { 7, 0, 1524 }, { 7, 0, 1876 }, + { 8, 0, 661 }, { 10, 0, 42 }, { 10, 0, 228 }, { 11, 0, 58 }, + { 11, 0, 1020 }, { 12, 0, 58 }, { 12, 0, 118 }, { 141, 0, 32 }, + { 4, 0, 459 }, { 133, 0, 966 }, { 4, 11, 536 }, { 7, 11, 1141 }, + { 10, 11, 723 }, { 139, 11, 371 }, { 140, 0, 330 }, { 134, 0, 1557 }, + { 7, 11, 285 }, { 135, 11, 876 }, { 136, 10, 491 }, { 135, 11, 560 }, + { 6, 0, 18 }, { 7, 0, 179 }, { 7, 0, 932 }, { 8, 0, 548 }, + { 8, 0, 757 }, { 9, 0, 54 }, { 9, 0, 65 }, { 9, 0, 532 }, + { 9, 0, 844 }, { 10, 0, 113 }, { 10, 0, 117 }, { 10, 0, 315 }, + { 10, 0, 560 }, { 10, 0, 622 }, { 10, 0, 798 }, { 11, 0, 153 }, + { 11, 0, 351 }, { 11, 0, 375 }, { 12, 0, 78 }, { 12, 0, 151 }, + { 12, 0, 392 }, { 12, 0, 666 }, { 14, 0, 248 }, { 143, 0, 23 }, + { 6, 0, 1742 }, { 132, 11, 690 }, { 4, 10, 403 }, { 5, 10, 441 }, + { 7, 10, 450 }, { 10, 10, 840 }, { 11, 10, 101 }, { 12, 10, 193 }, + { 141, 10, 430 }, { 133, 0, 965 }, { 134, 0, 182 }, { 10, 0, 65 }, + { 10, 0, 488 }, { 138, 0, 497 }, { 135, 11, 1346 }, { 6, 0, 973 }, + { 6, 0, 1158 }, { 10, 11, 200 }, { 19, 11, 2 }, { 151, 11, 22 }, + { 4, 11, 190 }, { 133, 11, 554 }, { 133, 10, 679 }, { 7, 0, 328 }, + { 137, 10, 326 }, { 133, 11, 1001 }, { 9, 0, 588 }, { 138, 0, 260 }, + { 133, 11, 446 }, { 135, 10, 1128 }, { 135, 10, 1796 }, { 147, 11, 119 }, + { 134, 0, 1786 }, { 6, 0, 1328 }, { 6, 0, 1985 }, { 8, 0, 962 }, + { 138, 0, 1017 }, { 135, 0, 308 }, { 11, 0, 508 }, { 4, 10, 574 }, + { 7, 10, 350 }, { 7, 10, 1024 }, { 8, 10, 338 }, { 9, 10, 677 }, + { 138, 10, 808 }, { 138, 11, 752 }, { 135, 10, 1081 }, { 137, 11, 96 }, + { 7, 10, 1676 }, { 135, 10, 2037 }, { 136, 0, 588 }, { 132, 11, 304 }, + { 133, 0, 614 }, { 140, 0, 793 }, { 136, 0, 287 }, { 137, 10, 297 }, + { 141, 10, 37 }, { 6, 11, 53 }, { 6, 11, 199 }, { 7, 11, 1408 }, + { 8, 11, 32 }, { 8, 11, 93 }, { 9, 11, 437 }, { 10, 11, 397 }, + { 10, 11, 629 }, { 11, 11, 593 }, { 11, 11, 763 }, { 13, 11, 326 }, + { 145, 11, 35 }, { 134, 11, 105 }, { 9, 11, 320 }, { 10, 11, 506 }, + { 138, 11, 794 }, { 5, 11, 114 }, { 5, 11, 255 }, { 141, 11, 285 }, + { 140, 0, 290 }, { 7, 11, 2035 }, { 8, 11, 19 }, { 9, 11, 89 }, + { 138, 11, 831 }, { 134, 0, 1136 }, { 7, 0, 719 }, { 8, 0, 796 }, + { 8, 0, 809 }, { 8, 0, 834 }, { 6, 10, 306 }, { 7, 10, 1140 }, + { 7, 10, 1340 }, { 8, 10, 133 }, { 138, 10, 449 }, { 139, 10, 1011 }, + { 5, 0, 210 }, { 6, 0, 213 }, { 7, 0, 60 }, { 10, 0, 364 }, + { 139, 0, 135 }, { 5, 0, 607 }, { 8, 0, 326 }, { 136, 0, 490 }, + { 138, 11, 176 }, { 132, 0, 701 }, { 5, 0, 472 }, { 7, 0, 380 }, + { 137, 0, 758 }, { 135, 0, 1947 }, { 6, 0, 1079 }, { 138, 0, 278 }, + { 138, 11, 391 }, { 5, 10, 329 }, { 8, 10, 260 }, { 139, 11, 156 }, + { 4, 0, 386 }, { 7, 0, 41 }, { 8, 0, 405 }, { 8, 0, 728 }, + { 9, 0, 497 }, { 11, 0, 110 }, { 11, 0, 360 }, { 15, 0, 37 }, + { 144, 0, 84 }, { 5, 0, 46 }, { 7, 0, 1452 }, { 7, 0, 1480 }, + { 8, 0, 634 }, { 140, 0, 472 }, { 136, 0, 961 }, { 4, 0, 524 }, + { 136, 0, 810 }, { 10, 0, 238 }, { 141, 0, 33 }, { 132, 10, 657 }, + { 152, 10, 7 }, { 133, 0, 532 }, { 5, 0, 997 }, { 135, 10, 1665 }, + { 7, 11, 594 }, { 7, 11, 851 }, { 7, 11, 1858 }, { 9, 11, 411 }, + { 9, 11, 574 }, { 9, 11, 666 }, { 9, 11, 737 }, { 10, 11, 346 }, + { 10, 11, 712 }, { 11, 11, 246 }, { 11, 11, 432 }, { 11, 11, 517 }, + { 11, 11, 647 }, { 11, 11, 679 }, { 11, 11, 727 }, { 12, 11, 304 }, + { 12, 11, 305 }, { 12, 11, 323 }, { 12, 11, 483 }, { 12, 11, 572 }, + { 12, 11, 593 }, { 12, 11, 602 }, { 13, 11, 95 }, { 13, 11, 101 }, + { 13, 11, 171 }, { 13, 11, 315 }, { 13, 11, 378 }, { 13, 11, 425 }, + { 13, 11, 475 }, { 14, 11, 63 }, { 14, 11, 380 }, { 14, 11, 384 }, + { 15, 11, 133 }, { 18, 11, 112 }, { 148, 11, 72 }, { 5, 11, 955 }, + { 136, 11, 814 }, { 134, 0, 1301 }, { 5, 10, 66 }, { 7, 10, 1896 }, + { 136, 10, 288 }, { 133, 11, 56 }, { 134, 10, 1643 }, { 6, 0, 1298 }, + { 148, 11, 100 }, { 5, 0, 782 }, { 5, 0, 829 }, { 6, 0, 671 }, + { 6, 0, 1156 }, { 6, 0, 1738 }, { 137, 11, 621 }, { 4, 0, 306 }, + { 5, 0, 570 }, { 7, 0, 1347 }, { 5, 10, 91 }, { 5, 10, 648 }, + { 5, 10, 750 }, { 5, 10, 781 }, { 6, 10, 54 }, { 6, 10, 112 }, + { 6, 10, 402 }, { 6, 10, 1732 }, { 7, 10, 315 }, { 7, 10, 749 }, + { 7, 10, 1900 }, { 9, 10, 78 }, { 9, 10, 508 }, { 10, 10, 611 }, + { 10, 10, 811 }, { 11, 10, 510 }, { 11, 10, 728 }, { 13, 10, 36 }, + { 14, 10, 39 }, { 16, 10, 83 }, { 17, 10, 124 }, { 148, 10, 30 }, + { 8, 10, 570 }, { 9, 11, 477 }, { 141, 11, 78 }, { 4, 11, 639 }, + { 10, 11, 4 }, { 10, 10, 322 }, { 10, 10, 719 }, { 11, 10, 407 }, + { 11, 11, 638 }, { 12, 11, 177 }, { 148, 11, 57 }, { 7, 0, 1823 }, + { 139, 0, 693 }, { 7, 0, 759 }, { 5, 11, 758 }, { 8, 10, 125 }, + { 8, 10, 369 }, { 8, 10, 524 }, { 10, 10, 486 }, { 11, 10, 13 }, + { 11, 10, 381 }, { 11, 10, 736 }, { 11, 10, 766 }, { 11, 10, 845 }, + { 13, 10, 114 }, { 13, 10, 292 }, { 142, 10, 47 }, { 7, 0, 1932 }, + { 6, 10, 1684 }, { 6, 10, 1731 }, { 7, 10, 356 }, { 8, 10, 54 }, + { 8, 10, 221 }, { 9, 10, 225 }, { 9, 10, 356 }, { 10, 10, 77 }, + { 10, 10, 446 }, { 10, 10, 731 }, { 12, 10, 404 }, { 141, 10, 491 }, + { 135, 11, 552 }, { 135, 11, 1112 }, { 4, 0, 78 }, { 5, 0, 96 }, + { 5, 0, 182 }, { 6, 0, 1257 }, { 7, 0, 1724 }, { 7, 0, 1825 }, + { 10, 0, 394 }, { 10, 0, 471 }, { 11, 0, 532 }, { 14, 0, 340 }, + { 145, 0, 88 }, { 139, 11, 328 }, { 135, 0, 1964 }, { 132, 10, 411 }, + { 4, 10, 80 }, { 5, 10, 44 }, { 137, 11, 133 }, { 5, 11, 110 }, + { 6, 11, 169 }, { 6, 11, 1702 }, { 7, 11, 400 }, { 8, 11, 538 }, + { 9, 11, 184 }, { 9, 11, 524 }, { 140, 11, 218 }, { 4, 0, 521 }, + { 5, 10, 299 }, { 7, 10, 1083 }, { 140, 11, 554 }, { 6, 11, 133 }, + { 9, 11, 353 }, { 12, 11, 628 }, { 146, 11, 79 }, { 6, 0, 215 }, + { 7, 0, 584 }, { 7, 0, 1028 }, { 7, 0, 1473 }, { 7, 0, 1721 }, + { 9, 0, 424 }, { 138, 0, 779 }, { 7, 0, 857 }, { 7, 0, 1209 }, + { 7, 10, 1713 }, { 9, 10, 537 }, { 10, 10, 165 }, { 12, 10, 219 }, + { 140, 10, 561 }, { 4, 10, 219 }, { 6, 11, 93 }, { 7, 11, 1422 }, + { 7, 10, 1761 }, { 7, 11, 1851 }, { 8, 11, 673 }, { 9, 10, 86 }, + { 9, 11, 529 }, { 140, 11, 43 }, { 137, 11, 371 }, { 136, 0, 671 }, + { 5, 0, 328 }, { 135, 0, 918 }, { 132, 0, 529 }, { 9, 11, 25 }, + { 10, 11, 467 }, { 138, 11, 559 }, { 4, 11, 335 }, { 135, 11, 942 }, + { 134, 0, 716 }, { 134, 0, 1509 }, { 6, 0, 67 }, { 7, 0, 258 }, + { 7, 0, 1630 }, { 9, 0, 354 }, { 9, 0, 675 }, { 10, 0, 830 }, + { 14, 0, 80 }, { 17, 0, 80 }, { 140, 10, 428 }, { 134, 0, 1112 }, + { 6, 0, 141 }, { 7, 0, 225 }, { 9, 0, 59 }, { 9, 0, 607 }, + { 10, 0, 312 }, { 11, 0, 687 }, { 12, 0, 555 }, { 13, 0, 373 }, + { 13, 0, 494 }, { 148, 0, 58 }, { 133, 10, 514 }, { 8, 11, 39 }, + { 10, 11, 773 }, { 11, 11, 84 }, { 12, 11, 205 }, { 142, 11, 1 }, + { 8, 0, 783 }, { 5, 11, 601 }, { 133, 11, 870 }, { 136, 11, 594 }, + { 4, 10, 55 }, { 5, 10, 301 }, { 6, 10, 571 }, { 14, 10, 49 }, + { 146, 10, 102 }, { 132, 11, 181 }, { 134, 11, 1652 }, { 133, 10, 364 }, + { 4, 11, 97 }, { 5, 11, 147 }, { 6, 11, 286 }, { 7, 11, 1362 }, + { 141, 11, 176 }, { 4, 10, 76 }, { 7, 10, 1550 }, { 9, 10, 306 }, + { 9, 10, 430 }, { 9, 10, 663 }, { 10, 10, 683 }, { 11, 10, 427 }, + { 11, 10, 753 }, { 12, 10, 334 }, { 12, 10, 442 }, { 14, 10, 258 }, + { 14, 10, 366 }, { 143, 10, 131 }, { 137, 10, 52 }, { 6, 0, 955 }, + { 134, 0, 1498 }, { 6, 11, 375 }, { 7, 11, 169 }, { 7, 11, 254 }, + { 136, 11, 780 }, { 7, 0, 430 }, { 11, 0, 46 }, { 14, 0, 343 }, + { 142, 11, 343 }, { 135, 0, 1183 }, { 5, 0, 602 }, { 7, 0, 2018 }, + { 9, 0, 418 }, { 9, 0, 803 }, { 135, 11, 1447 }, { 8, 0, 677 }, + { 135, 11, 1044 }, { 139, 11, 285 }, { 4, 10, 656 }, { 135, 10, 779 }, + { 135, 10, 144 }, { 5, 11, 629 }, { 135, 11, 1549 }, { 135, 10, 1373 }, + { 138, 11, 209 }, { 7, 10, 554 }, { 7, 10, 605 }, { 141, 10, 10 }, + { 5, 10, 838 }, { 5, 10, 841 }, { 134, 10, 1649 }, { 133, 10, 1012 }, + { 6, 0, 1357 }, { 134, 0, 1380 }, { 144, 0, 53 }, { 6, 0, 590 }, + { 7, 10, 365 }, { 7, 10, 1357 }, { 7, 10, 1497 }, { 8, 10, 154 }, + { 141, 10, 281 }, { 133, 10, 340 }, { 132, 11, 420 }, { 135, 0, 329 }, + { 147, 11, 32 }, { 4, 0, 469 }, { 10, 11, 429 }, { 139, 10, 495 }, + { 8, 10, 261 }, { 9, 10, 144 }, { 9, 10, 466 }, { 10, 10, 370 }, + { 12, 10, 470 }, { 13, 10, 144 }, { 142, 10, 348 }, { 142, 0, 460 }, + { 4, 11, 325 }, { 9, 10, 897 }, { 138, 11, 125 }, { 6, 0, 1743 }, + { 6, 10, 248 }, { 9, 10, 546 }, { 10, 10, 535 }, { 11, 10, 681 }, + { 141, 10, 135 }, { 4, 0, 990 }, { 5, 0, 929 }, { 6, 0, 340 }, + { 8, 0, 376 }, { 8, 0, 807 }, { 8, 0, 963 }, { 8, 0, 980 }, + { 138, 0, 1007 }, { 134, 0, 1603 }, { 140, 0, 250 }, { 4, 11, 714 }, + { 133, 11, 469 }, { 134, 10, 567 }, { 136, 10, 445 }, { 5, 0, 218 }, + { 7, 0, 1610 }, { 8, 0, 646 }, { 10, 0, 83 }, { 11, 11, 138 }, + { 140, 11, 40 }, { 7, 0, 1512 }, { 135, 0, 1794 }, { 135, 11, 1216 }, + { 11, 0, 0 }, { 16, 0, 78 }, { 132, 11, 718 }, { 133, 0, 571 }, + { 132, 0, 455 }, { 134, 0, 1012 }, { 5, 11, 124 }, { 5, 11, 144 }, + { 6, 11, 548 }, { 7, 11, 15 }, { 7, 11, 153 }, { 137, 11, 629 }, + { 142, 11, 10 }, { 6, 11, 75 }, { 7, 11, 1531 }, { 8, 11, 416 }, + { 9, 11, 240 }, { 9, 11, 275 }, { 10, 11, 100 }, { 11, 11, 658 }, + { 11, 11, 979 }, { 12, 11, 86 }, { 13, 11, 468 }, { 14, 11, 66 }, + { 14, 11, 207 }, { 15, 11, 20 }, { 15, 11, 25 }, { 144, 11, 58 }, + { 132, 10, 577 }, { 5, 11, 141 }, { 5, 11, 915 }, { 6, 11, 1783 }, + { 7, 11, 211 }, { 7, 11, 698 }, { 7, 11, 1353 }, { 9, 11, 83 }, + { 9, 11, 281 }, { 10, 11, 376 }, { 10, 11, 431 }, { 11, 11, 543 }, + { 12, 11, 664 }, { 13, 11, 280 }, { 13, 11, 428 }, { 14, 11, 61 }, + { 14, 11, 128 }, { 17, 11, 52 }, { 145, 11, 81 }, { 6, 0, 161 }, + { 7, 0, 372 }, { 137, 0, 597 }, { 132, 0, 349 }, { 10, 11, 702 }, + { 139, 11, 245 }, { 134, 0, 524 }, { 134, 10, 174 }, { 6, 0, 432 }, + { 9, 0, 751 }, { 139, 0, 322 }, { 147, 11, 94 }, { 4, 11, 338 }, + { 133, 11, 400 }, { 5, 0, 468 }, { 10, 0, 325 }, { 11, 0, 856 }, + { 12, 0, 345 }, { 143, 0, 104 }, { 133, 0, 223 }, { 132, 0, 566 }, + { 4, 11, 221 }, { 5, 11, 659 }, { 5, 11, 989 }, { 7, 11, 697 }, + { 7, 11, 1211 }, { 138, 11, 284 }, { 135, 11, 1070 }, { 4, 0, 59 }, + { 135, 0, 1394 }, { 6, 0, 436 }, { 11, 0, 481 }, { 5, 10, 878 }, + { 133, 10, 972 }, { 4, 0, 48 }, { 5, 0, 271 }, { 135, 0, 953 }, + { 5, 0, 610 }, { 136, 0, 457 }, { 4, 0, 773 }, { 5, 0, 618 }, + { 137, 0, 756 }, { 133, 0, 755 }, { 135, 0, 1217 }, { 138, 11, 507 }, + { 132, 10, 351 }, { 132, 0, 197 }, { 143, 11, 78 }, { 4, 11, 188 }, + { 7, 11, 805 }, { 11, 11, 276 }, { 142, 11, 293 }, { 5, 11, 884 }, + { 139, 11, 991 }, { 132, 10, 286 }, { 10, 0, 259 }, { 10, 0, 428 }, + { 7, 10, 438 }, { 7, 10, 627 }, { 7, 10, 1516 }, { 8, 10, 40 }, + { 9, 10, 56 }, { 9, 10, 294 }, { 11, 10, 969 }, { 11, 10, 995 }, + { 146, 10, 148 }, { 4, 0, 356 }, { 5, 0, 217 }, { 5, 0, 492 }, + { 5, 0, 656 }, { 8, 0, 544 }, { 136, 11, 544 }, { 5, 0, 259 }, + { 6, 0, 1230 }, { 7, 0, 414 }, { 7, 0, 854 }, { 142, 0, 107 }, + { 132, 0, 1007 }, { 15, 0, 14 }, { 144, 0, 5 }, { 6, 0, 1580 }, + { 132, 10, 738 }, { 132, 11, 596 }, { 132, 0, 673 }, { 133, 10, 866 }, + { 6, 0, 1843 }, { 135, 11, 1847 }, { 4, 0, 165 }, { 7, 0, 1398 }, + { 135, 0, 1829 }, { 135, 11, 1634 }, { 147, 11, 65 }, { 6, 0, 885 }, + { 6, 0, 1009 }, { 137, 0, 809 }, { 133, 10, 116 }, { 132, 10, 457 }, + { 136, 11, 770 }, { 9, 0, 498 }, { 12, 0, 181 }, { 10, 11, 361 }, + { 142, 11, 316 }, { 134, 11, 595 }, { 5, 0, 9 }, { 7, 0, 297 }, + { 7, 0, 966 }, { 140, 0, 306 }, { 4, 11, 89 }, { 5, 11, 489 }, + { 6, 11, 315 }, { 7, 11, 553 }, { 7, 11, 1745 }, { 138, 11, 243 }, + { 134, 0, 1487 }, { 132, 0, 437 }, { 5, 0, 146 }, { 6, 0, 411 }, + { 138, 0, 721 }, { 5, 10, 527 }, { 6, 10, 189 }, { 135, 10, 859 }, + { 11, 10, 104 }, { 11, 10, 554 }, { 15, 10, 60 }, { 143, 10, 125 }, + { 6, 11, 1658 }, { 9, 11, 3 }, { 10, 11, 154 }, { 11, 11, 641 }, + { 13, 11, 85 }, { 13, 11, 201 }, { 141, 11, 346 }, { 6, 0, 177 }, + { 135, 0, 467 }, { 134, 0, 1377 }, { 134, 10, 116 }, { 136, 11, 645 }, + { 4, 11, 166 }, { 5, 11, 505 }, { 6, 11, 1670 }, { 137, 11, 110 }, + { 133, 10, 487 }, { 4, 10, 86 }, { 5, 10, 667 }, { 5, 10, 753 }, + { 6, 10, 316 }, { 6, 10, 455 }, { 135, 10, 946 }, { 133, 0, 200 }, + { 132, 0, 959 }, { 6, 0, 1928 }, { 134, 0, 1957 }, { 139, 11, 203 }, + { 150, 10, 45 }, { 4, 10, 79 }, { 7, 10, 1773 }, { 10, 10, 450 }, + { 11, 10, 589 }, { 13, 10, 332 }, { 13, 10, 493 }, { 14, 10, 183 }, + { 14, 10, 334 }, { 14, 10, 362 }, { 14, 10, 368 }, { 14, 10, 376 }, + { 14, 10, 379 }, { 19, 10, 90 }, { 19, 10, 103 }, { 19, 10, 127 }, + { 148, 10, 90 }, { 6, 0, 1435 }, { 135, 11, 1275 }, { 134, 0, 481 }, + { 7, 11, 445 }, { 8, 11, 307 }, { 8, 11, 704 }, { 10, 11, 41 }, + { 10, 11, 439 }, { 11, 11, 237 }, { 11, 11, 622 }, { 140, 11, 201 }, + { 135, 11, 869 }, { 4, 0, 84 }, { 7, 0, 1482 }, { 10, 0, 76 }, + { 138, 0, 142 }, { 11, 11, 277 }, { 144, 11, 14 }, { 135, 11, 1977 }, + { 4, 11, 189 }, { 5, 11, 713 }, { 136, 11, 57 }, { 133, 0, 1015 }, + { 138, 11, 371 }, { 4, 0, 315 }, { 5, 0, 507 }, { 135, 0, 1370 }, + { 4, 11, 552 }, { 142, 10, 381 }, { 9, 0, 759 }, { 16, 0, 31 }, + { 16, 0, 39 }, { 16, 0, 75 }, { 18, 0, 24 }, { 20, 0, 42 }, + { 152, 0, 1 }, { 134, 0, 712 }, { 134, 0, 1722 }, { 133, 10, 663 }, + { 133, 10, 846 }, { 8, 0, 222 }, { 8, 0, 476 }, { 9, 0, 238 }, + { 11, 0, 516 }, { 11, 0, 575 }, { 15, 0, 109 }, { 146, 0, 100 }, + { 7, 0, 1402 }, { 7, 0, 1414 }, { 12, 0, 456 }, { 5, 10, 378 }, + { 8, 10, 465 }, { 9, 10, 286 }, { 10, 10, 185 }, { 10, 10, 562 }, + { 10, 10, 635 }, { 11, 10, 31 }, { 11, 10, 393 }, { 13, 10, 312 }, + { 18, 10, 65 }, { 18, 10, 96 }, { 147, 10, 89 }, { 4, 0, 986 }, + { 6, 0, 1958 }, { 6, 0, 2032 }, { 8, 0, 934 }, { 138, 0, 985 }, + { 7, 10, 1880 }, { 9, 10, 680 }, { 139, 10, 798 }, { 134, 10, 1770 }, + { 145, 11, 49 }, { 132, 11, 614 }, { 132, 10, 648 }, { 5, 10, 945 }, + { 6, 10, 1656 }, { 6, 10, 1787 }, { 7, 10, 167 }, { 8, 10, 824 }, + { 9, 10, 391 }, { 10, 10, 375 }, { 139, 10, 185 }, { 138, 11, 661 }, + { 7, 0, 1273 }, { 135, 11, 1945 }, { 7, 0, 706 }, { 7, 0, 1058 }, + { 138, 0, 538 }, { 7, 10, 1645 }, { 8, 10, 352 }, { 137, 10, 249 }, + { 132, 10, 152 }, { 11, 0, 92 }, { 11, 0, 196 }, { 11, 0, 409 }, + { 11, 0, 450 }, { 11, 0, 666 }, { 11, 0, 777 }, { 12, 0, 262 }, + { 13, 0, 385 }, { 13, 0, 393 }, { 15, 0, 115 }, { 16, 0, 45 }, + { 145, 0, 82 }, { 133, 10, 1006 }, { 6, 0, 40 }, { 135, 0, 1781 }, + { 9, 11, 614 }, { 139, 11, 327 }, { 5, 10, 420 }, { 135, 10, 1449 }, + { 135, 0, 431 }, { 10, 0, 97 }, { 135, 10, 832 }, { 6, 0, 423 }, + { 7, 0, 665 }, { 135, 0, 1210 }, { 7, 0, 237 }, { 8, 0, 664 }, + { 9, 0, 42 }, { 9, 0, 266 }, { 9, 0, 380 }, { 9, 0, 645 }, + { 10, 0, 177 }, { 138, 0, 276 }, { 7, 0, 264 }, { 133, 10, 351 }, + { 8, 0, 213 }, { 5, 10, 40 }, { 7, 10, 598 }, { 7, 10, 1638 }, + { 9, 10, 166 }, { 9, 10, 640 }, { 9, 10, 685 }, { 9, 10, 773 }, + { 11, 10, 215 }, { 13, 10, 65 }, { 14, 10, 172 }, { 14, 10, 317 }, + { 145, 10, 6 }, { 5, 11, 84 }, { 134, 11, 163 }, { 8, 10, 60 }, + { 9, 10, 343 }, { 139, 10, 769 }, { 137, 0, 455 }, { 133, 11, 410 }, + { 8, 0, 906 }, { 12, 0, 700 }, { 12, 0, 706 }, { 140, 0, 729 }, + { 21, 11, 33 }, { 150, 11, 40 }, { 7, 10, 1951 }, { 8, 10, 765 }, + { 8, 10, 772 }, { 140, 10, 671 }, { 7, 10, 108 }, { 8, 10, 219 }, + { 8, 10, 388 }, { 9, 10, 639 }, { 9, 10, 775 }, { 11, 10, 275 }, + { 140, 10, 464 }, { 5, 11, 322 }, { 7, 11, 1941 }, { 8, 11, 186 }, + { 9, 11, 262 }, { 10, 11, 187 }, { 14, 11, 208 }, { 146, 11, 130 }, + { 139, 0, 624 }, { 8, 0, 574 }, { 5, 11, 227 }, { 140, 11, 29 }, + { 7, 11, 1546 }, { 11, 11, 299 }, { 142, 11, 407 }, { 5, 10, 15 }, + { 6, 10, 56 }, { 7, 10, 1758 }, { 8, 10, 500 }, { 9, 10, 730 }, + { 11, 10, 331 }, { 13, 10, 150 }, { 142, 10, 282 }, { 7, 11, 1395 }, + { 8, 11, 486 }, { 9, 11, 236 }, { 9, 11, 878 }, { 10, 11, 218 }, + { 11, 11, 95 }, { 19, 11, 17 }, { 147, 11, 31 }, { 135, 11, 2043 }, + { 4, 0, 354 }, { 146, 11, 4 }, { 140, 11, 80 }, { 135, 0, 1558 }, + { 134, 10, 1886 }, { 5, 10, 205 }, { 6, 10, 438 }, { 137, 10, 711 }, + { 133, 11, 522 }, { 133, 10, 534 }, { 7, 0, 235 }, { 7, 0, 1475 }, + { 15, 0, 68 }, { 146, 0, 120 }, { 137, 10, 691 }, { 4, 0, 942 }, + { 6, 0, 1813 }, { 8, 0, 917 }, { 10, 0, 884 }, { 12, 0, 696 }, + { 12, 0, 717 }, { 12, 0, 723 }, { 12, 0, 738 }, { 12, 0, 749 }, + { 12, 0, 780 }, { 16, 0, 97 }, { 146, 0, 169 }, { 6, 10, 443 }, + { 8, 11, 562 }, { 9, 10, 237 }, { 9, 10, 571 }, { 9, 10, 695 }, + { 10, 10, 139 }, { 11, 10, 715 }, { 12, 10, 417 }, { 141, 10, 421 }, + { 135, 0, 957 }, { 133, 0, 830 }, { 134, 11, 1771 }, { 146, 0, 23 }, + { 5, 0, 496 }, { 6, 0, 694 }, { 7, 0, 203 }, { 7, 11, 1190 }, + { 137, 11, 620 }, { 137, 11, 132 }, { 6, 0, 547 }, { 134, 0, 1549 }, + { 8, 11, 258 }, { 9, 11, 208 }, { 137, 11, 359 }, { 4, 0, 864 }, + { 5, 0, 88 }, { 137, 0, 239 }, { 135, 11, 493 }, { 4, 11, 317 }, + { 135, 11, 1279 }, { 132, 11, 477 }, { 4, 10, 578 }, { 5, 11, 63 }, + { 133, 11, 509 }, { 7, 0, 650 }, { 135, 0, 1310 }, { 7, 0, 1076 }, + { 9, 0, 80 }, { 11, 0, 78 }, { 11, 0, 421 }, { 11, 0, 534 }, + { 140, 0, 545 }, { 132, 11, 288 }, { 12, 0, 553 }, { 14, 0, 118 }, + { 133, 10, 923 }, { 7, 0, 274 }, { 11, 0, 479 }, { 139, 0, 507 }, + { 8, 11, 89 }, { 8, 11, 620 }, { 9, 11, 49 }, { 10, 11, 774 }, + { 11, 11, 628 }, { 12, 11, 322 }, { 143, 11, 124 }, { 4, 0, 497 }, + { 135, 0, 1584 }, { 7, 0, 261 }, { 7, 0, 1115 }, { 7, 0, 1354 }, + { 7, 0, 1404 }, { 7, 0, 1588 }, { 7, 0, 1705 }, { 7, 0, 1902 }, + { 9, 0, 465 }, { 10, 0, 248 }, { 10, 0, 349 }, { 10, 0, 647 }, + { 11, 0, 527 }, { 11, 0, 660 }, { 11, 0, 669 }, { 12, 0, 529 }, + { 13, 0, 305 }, { 132, 10, 924 }, { 133, 10, 665 }, { 136, 0, 13 }, + { 6, 0, 791 }, { 138, 11, 120 }, { 7, 0, 642 }, { 8, 0, 250 }, + { 11, 0, 123 }, { 11, 0, 137 }, { 13, 0, 48 }, { 142, 0, 95 }, + { 4, 10, 265 }, { 7, 10, 807 }, { 135, 10, 950 }, { 5, 10, 93 }, + { 140, 10, 267 }, { 135, 0, 1429 }, { 4, 0, 949 }, { 10, 0, 885 }, + { 10, 0, 891 }, { 10, 0, 900 }, { 10, 0, 939 }, { 12, 0, 760 }, + { 142, 0, 449 }, { 139, 11, 366 }, { 132, 0, 818 }, { 134, 11, 85 }, + { 135, 10, 994 }, { 7, 0, 330 }, { 5, 10, 233 }, { 5, 10, 320 }, + { 6, 10, 140 }, { 136, 10, 295 }, { 4, 0, 1004 }, { 8, 0, 982 }, + { 136, 0, 993 }, { 133, 10, 978 }, { 4, 10, 905 }, { 6, 10, 1701 }, + { 137, 10, 843 }, { 10, 0, 545 }, { 140, 0, 301 }, { 6, 0, 947 }, + { 134, 0, 1062 }, { 134, 0, 1188 }, { 4, 0, 904 }, { 5, 0, 794 }, + { 152, 10, 6 }, { 134, 0, 1372 }, { 135, 11, 608 }, { 5, 11, 279 }, + { 6, 11, 235 }, { 7, 11, 468 }, { 8, 11, 446 }, { 9, 11, 637 }, + { 10, 11, 717 }, { 11, 11, 738 }, { 140, 11, 514 }, { 132, 10, 509 }, + { 5, 11, 17 }, { 6, 11, 371 }, { 137, 11, 528 }, { 132, 0, 693 }, + { 4, 11, 115 }, { 5, 11, 669 }, { 6, 11, 407 }, { 8, 11, 311 }, + { 11, 11, 10 }, { 141, 11, 5 }, { 11, 0, 377 }, { 7, 10, 273 }, + { 137, 11, 381 }, { 135, 0, 695 }, { 7, 0, 386 }, { 138, 0, 713 }, + { 135, 10, 1041 }, { 134, 0, 1291 }, { 6, 0, 7 }, { 6, 0, 35 }, + { 7, 0, 147 }, { 7, 0, 1069 }, { 7, 0, 1568 }, { 7, 0, 1575 }, + { 7, 0, 1917 }, { 8, 0, 43 }, { 8, 0, 208 }, { 9, 0, 128 }, + { 9, 0, 866 }, { 10, 0, 20 }, { 11, 0, 981 }, { 147, 0, 33 }, + { 7, 0, 893 }, { 141, 0, 424 }, { 139, 10, 234 }, { 150, 11, 56 }, + { 5, 11, 779 }, { 5, 11, 807 }, { 6, 11, 1655 }, { 134, 11, 1676 }, + { 5, 10, 802 }, { 7, 10, 2021 }, { 136, 10, 805 }, { 4, 11, 196 }, + { 5, 10, 167 }, { 5, 11, 558 }, { 5, 10, 899 }, { 5, 11, 949 }, + { 6, 10, 410 }, { 137, 10, 777 }, { 137, 10, 789 }, { 134, 10, 1705 }, + { 8, 0, 904 }, { 140, 0, 787 }, { 6, 0, 322 }, { 9, 0, 552 }, + { 11, 0, 274 }, { 13, 0, 209 }, { 13, 0, 499 }, { 14, 0, 85 }, + { 15, 0, 126 }, { 145, 0, 70 }, { 135, 10, 10 }, { 5, 10, 11 }, + { 6, 10, 117 }, { 6, 10, 485 }, { 7, 10, 1133 }, { 9, 10, 582 }, + { 9, 10, 594 }, { 11, 10, 21 }, { 11, 10, 818 }, { 12, 10, 535 }, + { 141, 10, 86 }, { 4, 10, 264 }, { 7, 10, 1067 }, { 8, 10, 204 }, + { 8, 10, 385 }, { 139, 10, 953 }, { 132, 11, 752 }, { 138, 10, 56 }, + { 133, 10, 470 }, { 6, 0, 1808 }, { 8, 0, 83 }, { 8, 0, 742 }, + { 8, 0, 817 }, { 9, 0, 28 }, { 9, 0, 29 }, { 9, 0, 885 }, + { 10, 0, 387 }, { 11, 0, 633 }, { 11, 0, 740 }, { 13, 0, 235 }, + { 13, 0, 254 }, { 15, 0, 143 }, { 143, 0, 146 }, { 140, 0, 49 }, + { 134, 0, 1832 }, { 4, 11, 227 }, { 5, 11, 159 }, { 5, 11, 409 }, + { 7, 11, 80 }, { 10, 11, 294 }, { 10, 11, 479 }, { 12, 11, 418 }, + { 14, 11, 50 }, { 14, 11, 249 }, { 142, 11, 295 }, { 7, 11, 1470 }, + { 8, 11, 66 }, { 8, 11, 137 }, { 8, 11, 761 }, { 9, 11, 638 }, + { 11, 11, 80 }, { 11, 11, 212 }, { 11, 11, 368 }, { 11, 11, 418 }, + { 12, 11, 8 }, { 13, 11, 15 }, { 16, 11, 61 }, { 17, 11, 59 }, + { 19, 11, 28 }, { 148, 11, 84 }, { 139, 10, 1015 }, { 138, 11, 468 }, + { 135, 0, 421 }, { 6, 0, 415 }, { 7, 0, 1049 }, { 137, 0, 442 }, + { 6, 11, 38 }, { 7, 11, 1220 }, { 8, 11, 185 }, { 8, 11, 256 }, + { 9, 11, 22 }, { 9, 11, 331 }, { 10, 11, 738 }, { 11, 11, 205 }, + { 11, 11, 540 }, { 11, 11, 746 }, { 13, 11, 399 }, { 13, 11, 465 }, + { 14, 11, 88 }, { 142, 11, 194 }, { 139, 0, 289 }, { 133, 10, 715 }, + { 4, 0, 110 }, { 10, 0, 415 }, { 10, 0, 597 }, { 142, 0, 206 }, + { 4, 11, 159 }, { 6, 11, 115 }, { 7, 11, 252 }, { 7, 11, 257 }, + { 7, 11, 1928 }, { 8, 11, 69 }, { 9, 11, 384 }, { 10, 11, 91 }, + { 10, 11, 615 }, { 12, 11, 375 }, { 14, 11, 235 }, { 18, 11, 117 }, + { 147, 11, 123 }, { 5, 11, 911 }, { 136, 11, 278 }, { 7, 0, 205 }, + { 7, 0, 2000 }, { 8, 10, 794 }, { 9, 10, 400 }, { 10, 10, 298 }, + { 142, 10, 228 }, { 135, 11, 1774 }, { 4, 11, 151 }, { 7, 11, 1567 }, + { 8, 11, 351 }, { 137, 11, 322 }, { 136, 10, 724 }, { 133, 11, 990 }, + { 7, 0, 1539 }, { 11, 0, 512 }, { 13, 0, 205 }, { 19, 0, 30 }, + { 22, 0, 36 }, { 23, 0, 19 }, { 135, 11, 1539 }, { 5, 11, 194 }, + { 7, 11, 1662 }, { 9, 11, 90 }, { 140, 11, 180 }, { 6, 10, 190 }, + { 7, 10, 768 }, { 135, 10, 1170 }, { 134, 0, 1340 }, { 4, 0, 283 }, + { 135, 0, 1194 }, { 133, 11, 425 }, { 133, 11, 971 }, { 12, 0, 549 }, + { 14, 10, 67 }, { 147, 10, 60 }, { 135, 10, 1023 }, { 134, 0, 1720 }, + { 138, 11, 587 }, { 5, 11, 72 }, { 6, 11, 264 }, { 7, 11, 21 }, + { 7, 11, 46 }, { 7, 11, 2013 }, { 8, 11, 215 }, { 8, 11, 513 }, + { 10, 11, 266 }, { 139, 11, 22 }, { 5, 0, 319 }, { 135, 0, 534 }, + { 6, 10, 137 }, { 9, 10, 75 }, { 9, 10, 253 }, { 10, 10, 194 }, + { 138, 10, 444 }, { 7, 0, 1180 }, { 20, 0, 112 }, { 6, 11, 239 }, + { 7, 11, 118 }, { 10, 11, 95 }, { 11, 11, 603 }, { 13, 11, 443 }, + { 14, 11, 160 }, { 143, 11, 4 }, { 134, 11, 431 }, { 5, 11, 874 }, + { 6, 11, 1677 }, { 11, 10, 643 }, { 12, 10, 115 }, { 143, 11, 0 }, + { 134, 0, 967 }, { 6, 11, 65 }, { 7, 11, 939 }, { 7, 11, 1172 }, + { 7, 11, 1671 }, { 9, 11, 540 }, { 10, 11, 696 }, { 11, 11, 265 }, + { 11, 11, 732 }, { 11, 11, 928 }, { 11, 11, 937 }, { 12, 11, 399 }, + { 13, 11, 438 }, { 149, 11, 19 }, { 137, 11, 200 }, { 135, 0, 1940 }, + { 5, 10, 760 }, { 7, 10, 542 }, { 8, 10, 135 }, { 136, 10, 496 }, + { 140, 11, 44 }, { 7, 11, 1655 }, { 136, 11, 305 }, { 7, 10, 319 }, + { 7, 10, 355 }, { 7, 10, 763 }, { 10, 10, 389 }, { 145, 10, 43 }, + { 136, 0, 735 }, { 138, 10, 786 }, { 137, 11, 19 }, { 132, 11, 696 }, + { 5, 0, 132 }, { 9, 0, 486 }, { 9, 0, 715 }, { 10, 0, 458 }, + { 11, 0, 373 }, { 11, 0, 668 }, { 11, 0, 795 }, { 11, 0, 897 }, + { 12, 0, 272 }, { 12, 0, 424 }, { 12, 0, 539 }, { 12, 0, 558 }, + { 14, 0, 245 }, { 14, 0, 263 }, { 14, 0, 264 }, { 14, 0, 393 }, + { 142, 0, 403 }, { 10, 0, 38 }, { 139, 0, 784 }, { 132, 0, 838 }, + { 4, 11, 302 }, { 135, 11, 1766 }, { 133, 0, 379 }, { 5, 0, 8 }, + { 6, 0, 89 }, { 6, 0, 400 }, { 7, 0, 1569 }, { 7, 0, 1623 }, + { 7, 0, 1850 }, { 8, 0, 218 }, { 8, 0, 422 }, { 9, 0, 570 }, + { 10, 0, 626 }, { 4, 11, 726 }, { 133, 11, 630 }, { 4, 0, 1017 }, + { 138, 0, 660 }, { 6, 0, 387 }, { 7, 0, 882 }, { 141, 0, 111 }, + { 6, 0, 224 }, { 7, 0, 877 }, { 137, 0, 647 }, { 4, 10, 58 }, + { 5, 10, 286 }, { 6, 10, 319 }, { 7, 10, 402 }, { 7, 10, 1254 }, + { 7, 10, 1903 }, { 8, 10, 356 }, { 140, 10, 408 }, { 135, 0, 790 }, + { 9, 0, 510 }, { 10, 0, 53 }, { 4, 10, 389 }, { 9, 10, 181 }, + { 10, 10, 29 }, { 10, 10, 816 }, { 11, 10, 311 }, { 11, 10, 561 }, + { 12, 10, 67 }, { 141, 10, 181 }, { 142, 0, 458 }, { 6, 11, 118 }, + { 7, 11, 215 }, { 7, 11, 1521 }, { 140, 11, 11 }, { 134, 0, 954 }, + { 135, 0, 394 }, { 134, 0, 1367 }, { 5, 11, 225 }, { 133, 10, 373 }, + { 132, 0, 882 }, { 7, 0, 1409 }, { 135, 10, 1972 }, { 135, 10, 1793 }, + { 4, 11, 370 }, { 5, 11, 756 }, { 135, 11, 1326 }, { 150, 11, 13 }, + { 7, 11, 354 }, { 10, 11, 410 }, { 139, 11, 815 }, { 6, 11, 1662 }, + { 7, 11, 48 }, { 8, 11, 771 }, { 10, 11, 116 }, { 13, 11, 104 }, + { 14, 11, 105 }, { 14, 11, 184 }, { 15, 11, 168 }, { 19, 11, 92 }, + { 148, 11, 68 }, { 7, 0, 124 }, { 136, 0, 38 }, { 5, 0, 261 }, + { 7, 0, 78 }, { 7, 0, 199 }, { 8, 0, 815 }, { 9, 0, 126 }, + { 10, 0, 342 }, { 140, 0, 647 }, { 4, 0, 628 }, { 140, 0, 724 }, + { 7, 0, 266 }, { 8, 0, 804 }, { 7, 10, 1651 }, { 145, 10, 89 }, + { 135, 0, 208 }, { 134, 0, 1178 }, { 6, 0, 79 }, { 135, 0, 1519 }, + { 132, 10, 672 }, { 133, 10, 737 }, { 136, 0, 741 }, { 132, 11, 120 }, + { 4, 0, 710 }, { 6, 0, 376 }, { 134, 0, 606 }, { 134, 0, 1347 }, + { 134, 0, 1494 }, { 6, 0, 850 }, { 6, 0, 1553 }, { 137, 0, 821 }, + { 5, 10, 145 }, { 134, 11, 593 }, { 7, 0, 1311 }, { 140, 0, 135 }, + { 4, 0, 467 }, { 5, 0, 405 }, { 134, 0, 544 }, { 5, 11, 820 }, + { 135, 11, 931 }, { 6, 0, 100 }, { 7, 0, 244 }, { 7, 0, 632 }, + { 7, 0, 1609 }, { 8, 0, 178 }, { 8, 0, 638 }, { 141, 0, 58 }, + { 4, 10, 387 }, { 135, 10, 1288 }, { 6, 11, 151 }, { 6, 11, 1675 }, + { 7, 11, 383 }, { 151, 11, 10 }, { 132, 0, 481 }, { 135, 10, 550 }, + { 134, 0, 1378 }, { 6, 11, 1624 }, { 11, 11, 11 }, { 12, 11, 422 }, + { 13, 11, 262 }, { 142, 11, 360 }, { 133, 0, 791 }, { 4, 11, 43 }, + { 5, 11, 344 }, { 133, 11, 357 }, { 7, 0, 1227 }, { 140, 0, 978 }, + { 7, 0, 686 }, { 8, 0, 33 }, { 8, 0, 238 }, { 10, 0, 616 }, + { 11, 0, 467 }, { 11, 0, 881 }, { 13, 0, 217 }, { 13, 0, 253 }, + { 142, 0, 268 }, { 137, 0, 857 }, { 8, 0, 467 }, { 8, 0, 1006 }, + { 7, 11, 148 }, { 8, 11, 284 }, { 141, 11, 63 }, { 4, 10, 576 }, + { 135, 10, 1263 }, { 133, 11, 888 }, { 5, 10, 919 }, { 134, 10, 1673 }, + { 20, 10, 37 }, { 148, 11, 37 }, { 132, 0, 447 }, { 132, 11, 711 }, + { 4, 0, 128 }, { 5, 0, 415 }, { 6, 0, 462 }, { 7, 0, 294 }, + { 7, 0, 578 }, { 10, 0, 710 }, { 139, 0, 86 }, { 4, 10, 82 }, + { 5, 10, 333 }, { 5, 10, 904 }, { 6, 10, 207 }, { 7, 10, 325 }, + { 7, 10, 1726 }, { 8, 10, 101 }, { 10, 10, 778 }, { 139, 10, 220 }, + { 136, 0, 587 }, { 137, 11, 440 }, { 133, 10, 903 }, { 6, 0, 427 }, + { 7, 0, 1018 }, { 138, 0, 692 }, { 4, 0, 195 }, { 135, 0, 802 }, + { 140, 10, 147 }, { 134, 0, 1546 }, { 134, 0, 684 }, { 132, 10, 705 }, + { 136, 0, 345 }, { 11, 11, 678 }, { 140, 11, 307 }, { 133, 0, 365 }, + { 134, 0, 1683 }, { 4, 11, 65 }, { 5, 11, 479 }, { 5, 11, 1004 }, + { 7, 11, 1913 }, { 8, 11, 317 }, { 9, 11, 302 }, { 10, 11, 612 }, + { 141, 11, 22 }, { 138, 0, 472 }, { 4, 11, 261 }, { 135, 11, 510 }, + { 134, 10, 90 }, { 142, 0, 433 }, { 151, 0, 28 }, { 4, 11, 291 }, + { 7, 11, 101 }, { 9, 11, 515 }, { 12, 11, 152 }, { 12, 11, 443 }, + { 13, 11, 392 }, { 142, 11, 357 }, { 140, 0, 997 }, { 5, 0, 3 }, + { 8, 0, 578 }, { 9, 0, 118 }, { 10, 0, 705 }, { 141, 0, 279 }, + { 135, 11, 1266 }, { 7, 10, 813 }, { 12, 10, 497 }, { 141, 10, 56 }, + { 133, 0, 229 }, { 6, 10, 125 }, { 135, 10, 1277 }, { 8, 0, 102 }, + { 10, 0, 578 }, { 10, 0, 672 }, { 12, 0, 496 }, { 13, 0, 408 }, + { 14, 0, 121 }, { 17, 0, 106 }, { 151, 10, 12 }, { 6, 0, 866 }, + { 134, 0, 1080 }, { 136, 0, 1022 }, { 4, 11, 130 }, { 135, 11, 843 }, + { 5, 11, 42 }, { 5, 11, 879 }, { 7, 11, 245 }, { 7, 11, 324 }, + { 7, 11, 1532 }, { 11, 11, 463 }, { 11, 11, 472 }, { 13, 11, 363 }, + { 144, 11, 52 }, { 150, 0, 55 }, { 8, 0, 115 }, { 8, 0, 350 }, + { 9, 0, 489 }, { 10, 0, 128 }, { 11, 0, 306 }, { 12, 0, 373 }, + { 14, 0, 30 }, { 17, 0, 79 }, { 19, 0, 80 }, { 4, 11, 134 }, + { 133, 11, 372 }, { 134, 0, 657 }, { 134, 0, 933 }, { 135, 11, 1147 }, + { 4, 0, 230 }, { 133, 0, 702 }, { 134, 0, 1728 }, { 4, 0, 484 }, + { 18, 0, 26 }, { 19, 0, 42 }, { 20, 0, 43 }, { 21, 0, 0 }, + { 23, 0, 27 }, { 152, 0, 14 }, { 7, 0, 185 }, { 135, 0, 703 }, + { 6, 0, 417 }, { 10, 0, 618 }, { 7, 10, 1106 }, { 9, 10, 770 }, + { 11, 10, 112 }, { 140, 10, 413 }, { 134, 0, 803 }, { 132, 11, 644 }, + { 134, 0, 1262 }, { 7, 11, 540 }, { 12, 10, 271 }, { 145, 10, 109 }, + { 135, 11, 123 }, { 132, 0, 633 }, { 134, 11, 623 }, { 4, 11, 908 }, + { 5, 11, 359 }, { 5, 11, 508 }, { 6, 11, 1723 }, { 7, 11, 343 }, + { 7, 11, 1996 }, { 135, 11, 2026 }, { 135, 0, 479 }, { 10, 0, 262 }, + { 7, 10, 304 }, { 9, 10, 646 }, { 9, 10, 862 }, { 11, 10, 696 }, + { 12, 10, 208 }, { 15, 10, 79 }, { 147, 10, 108 }, { 4, 11, 341 }, + { 135, 11, 480 }, { 134, 0, 830 }, { 5, 0, 70 }, { 5, 0, 622 }, + { 6, 0, 334 }, { 7, 0, 1032 }, { 9, 0, 171 }, { 11, 0, 26 }, + { 11, 0, 213 }, { 11, 0, 637 }, { 11, 0, 707 }, { 12, 0, 202 }, + { 12, 0, 380 }, { 13, 0, 226 }, { 13, 0, 355 }, { 14, 0, 222 }, + { 145, 0, 42 }, { 135, 10, 981 }, { 143, 0, 217 }, { 137, 11, 114 }, + { 4, 0, 23 }, { 4, 0, 141 }, { 5, 0, 313 }, { 5, 0, 1014 }, + { 6, 0, 50 }, { 6, 0, 51 }, { 7, 0, 142 }, { 7, 0, 384 }, + { 7, 0, 559 }, { 8, 0, 640 }, { 9, 0, 460 }, { 9, 0, 783 }, + { 11, 0, 741 }, { 12, 0, 183 }, { 141, 0, 488 }, { 141, 0, 360 }, + { 7, 0, 1586 }, { 7, 11, 1995 }, { 8, 11, 299 }, { 11, 11, 890 }, + { 140, 11, 674 }, { 132, 10, 434 }, { 7, 0, 652 }, { 134, 10, 550 }, + { 7, 0, 766 }, { 5, 10, 553 }, { 138, 10, 824 }, { 7, 0, 737 }, + { 8, 0, 298 }, { 136, 10, 452 }, { 4, 11, 238 }, { 5, 11, 503 }, + { 6, 11, 179 }, { 7, 11, 2003 }, { 8, 11, 381 }, { 8, 11, 473 }, + { 9, 11, 149 }, { 10, 11, 183 }, { 15, 11, 45 }, { 143, 11, 86 }, + { 133, 10, 292 }, { 5, 0, 222 }, { 9, 0, 655 }, { 138, 0, 534 }, + { 138, 10, 135 }, { 4, 11, 121 }, { 5, 11, 156 }, { 5, 11, 349 }, + { 9, 11, 136 }, { 10, 11, 605 }, { 14, 11, 342 }, { 147, 11, 107 }, + { 137, 0, 906 }, { 6, 0, 1013 }, { 134, 0, 1250 }, { 6, 0, 1956 }, + { 6, 0, 2009 }, { 8, 0, 991 }, { 144, 0, 120 }, { 135, 11, 1192 }, + { 138, 0, 503 }, { 5, 0, 154 }, { 7, 0, 1491 }, { 10, 0, 379 }, + { 138, 0, 485 }, { 6, 0, 1867 }, { 6, 0, 1914 }, { 6, 0, 1925 }, + { 9, 0, 917 }, { 9, 0, 925 }, { 9, 0, 932 }, { 9, 0, 951 }, + { 9, 0, 1007 }, { 9, 0, 1013 }, { 12, 0, 806 }, { 12, 0, 810 }, + { 12, 0, 814 }, { 12, 0, 816 }, { 12, 0, 824 }, { 12, 0, 832 }, + { 12, 0, 837 }, { 12, 0, 863 }, { 12, 0, 868 }, { 12, 0, 870 }, + { 12, 0, 889 }, { 12, 0, 892 }, { 12, 0, 900 }, { 12, 0, 902 }, + { 12, 0, 908 }, { 12, 0, 933 }, { 12, 0, 942 }, { 12, 0, 949 }, + { 12, 0, 954 }, { 15, 0, 175 }, { 15, 0, 203 }, { 15, 0, 213 }, + { 15, 0, 218 }, { 15, 0, 225 }, { 15, 0, 231 }, { 15, 0, 239 }, + { 15, 0, 248 }, { 15, 0, 252 }, { 18, 0, 190 }, { 18, 0, 204 }, + { 18, 0, 215 }, { 18, 0, 216 }, { 18, 0, 222 }, { 18, 0, 225 }, + { 18, 0, 230 }, { 18, 0, 239 }, { 18, 0, 241 }, { 21, 0, 42 }, + { 21, 0, 43 }, { 21, 0, 44 }, { 21, 0, 45 }, { 21, 0, 46 }, + { 21, 0, 53 }, { 24, 0, 27 }, { 152, 0, 31 }, { 133, 0, 716 }, + { 135, 0, 844 }, { 4, 0, 91 }, { 5, 0, 388 }, { 5, 0, 845 }, + { 6, 0, 206 }, { 6, 0, 252 }, { 6, 0, 365 }, { 7, 0, 136 }, + { 7, 0, 531 }, { 136, 0, 621 }, { 7, 10, 393 }, { 10, 10, 603 }, + { 139, 10, 206 }, { 6, 11, 80 }, { 6, 11, 1694 }, { 7, 11, 173 }, + { 7, 11, 1974 }, { 9, 11, 547 }, { 10, 11, 730 }, { 14, 11, 18 }, + { 150, 11, 39 }, { 137, 0, 748 }, { 4, 11, 923 }, { 134, 11, 1711 }, + { 4, 10, 912 }, { 137, 10, 232 }, { 7, 10, 98 }, { 7, 10, 1973 }, + { 136, 10, 716 }, { 14, 0, 103 }, { 133, 10, 733 }, { 132, 11, 595 }, + { 12, 0, 158 }, { 18, 0, 8 }, { 19, 0, 62 }, { 20, 0, 6 }, + { 22, 0, 4 }, { 23, 0, 2 }, { 23, 0, 9 }, { 5, 11, 240 }, + { 6, 11, 459 }, { 7, 11, 12 }, { 7, 11, 114 }, { 7, 11, 502 }, + { 7, 11, 1751 }, { 7, 11, 1753 }, { 7, 11, 1805 }, { 8, 11, 658 }, + { 9, 11, 1 }, { 11, 11, 959 }, { 13, 11, 446 }, { 142, 11, 211 }, + { 135, 0, 576 }, { 5, 0, 771 }, { 5, 0, 863 }, { 5, 0, 898 }, + { 6, 0, 648 }, { 6, 0, 1632 }, { 6, 0, 1644 }, { 134, 0, 1780 }, + { 133, 0, 331 }, { 7, 11, 633 }, { 7, 11, 905 }, { 7, 11, 909 }, + { 7, 11, 1538 }, { 9, 11, 767 }, { 140, 11, 636 }, { 140, 0, 632 }, + { 5, 0, 107 }, { 7, 0, 201 }, { 136, 0, 518 }, { 6, 0, 446 }, + { 7, 0, 1817 }, { 134, 11, 490 }, { 9, 0, 851 }, { 141, 0, 510 }, + { 7, 11, 250 }, { 8, 11, 506 }, { 136, 11, 507 }, { 4, 0, 504 }, + { 137, 10, 72 }, { 132, 11, 158 }, { 4, 11, 140 }, { 7, 11, 362 }, + { 8, 11, 209 }, { 9, 11, 10 }, { 9, 11, 160 }, { 9, 11, 503 }, + { 10, 11, 689 }, { 11, 11, 350 }, { 11, 11, 553 }, { 11, 11, 725 }, + { 12, 11, 252 }, { 12, 11, 583 }, { 13, 11, 192 }, { 13, 11, 352 }, + { 14, 11, 269 }, { 14, 11, 356 }, { 148, 11, 50 }, { 6, 11, 597 }, + { 135, 11, 1318 }, { 135, 10, 1454 }, { 5, 0, 883 }, { 5, 0, 975 }, + { 8, 0, 392 }, { 148, 0, 7 }, { 6, 11, 228 }, { 7, 11, 1341 }, + { 9, 11, 408 }, { 138, 11, 343 }, { 11, 11, 348 }, { 11, 10, 600 }, + { 12, 11, 99 }, { 13, 10, 245 }, { 18, 11, 1 }, { 18, 11, 11 }, + { 147, 11, 4 }, { 134, 11, 296 }, { 5, 0, 922 }, { 134, 0, 1707 }, + { 132, 11, 557 }, { 4, 11, 548 }, { 7, 10, 164 }, { 7, 10, 1571 }, + { 9, 10, 107 }, { 140, 10, 225 }, { 7, 11, 197 }, { 8, 11, 142 }, + { 8, 11, 325 }, { 9, 11, 150 }, { 9, 11, 596 }, { 10, 11, 350 }, + { 10, 11, 353 }, { 11, 11, 74 }, { 11, 11, 315 }, { 14, 11, 423 }, + { 143, 11, 141 }, { 5, 0, 993 }, { 7, 0, 515 }, { 137, 0, 91 }, + { 4, 0, 131 }, { 8, 0, 200 }, { 5, 10, 484 }, { 5, 10, 510 }, + { 6, 10, 434 }, { 7, 10, 1000 }, { 7, 10, 1098 }, { 136, 10, 2 }, + { 152, 0, 10 }, { 4, 11, 62 }, { 5, 11, 83 }, { 6, 11, 399 }, + { 6, 11, 579 }, { 7, 11, 692 }, { 7, 11, 846 }, { 7, 11, 1015 }, + { 7, 11, 1799 }, { 8, 11, 403 }, { 9, 11, 394 }, { 10, 11, 133 }, + { 12, 11, 4 }, { 12, 11, 297 }, { 12, 11, 452 }, { 16, 11, 81 }, + { 18, 11, 19 }, { 18, 11, 25 }, { 21, 11, 14 }, { 22, 11, 12 }, + { 151, 11, 18 }, { 140, 11, 459 }, { 132, 11, 177 }, { 7, 0, 1433 }, + { 9, 0, 365 }, { 137, 11, 365 }, { 132, 10, 460 }, { 5, 0, 103 }, + { 6, 0, 2004 }, { 7, 0, 921 }, { 8, 0, 580 }, { 8, 0, 593 }, + { 8, 0, 630 }, { 10, 0, 28 }, { 5, 11, 411 }, { 135, 11, 653 }, + { 4, 10, 932 }, { 133, 10, 891 }, { 4, 0, 911 }, { 5, 0, 867 }, + { 5, 0, 1013 }, { 7, 0, 2034 }, { 8, 0, 798 }, { 136, 0, 813 }, + { 7, 11, 439 }, { 10, 11, 727 }, { 11, 11, 260 }, { 139, 11, 684 }, + { 136, 10, 625 }, { 5, 11, 208 }, { 7, 11, 753 }, { 135, 11, 1528 }, + { 5, 0, 461 }, { 7, 0, 1925 }, { 12, 0, 39 }, { 13, 0, 265 }, + { 13, 0, 439 }, { 134, 10, 76 }, { 6, 0, 853 }, { 8, 10, 92 }, + { 137, 10, 221 }, { 5, 0, 135 }, { 6, 0, 519 }, { 7, 0, 1722 }, + { 10, 0, 271 }, { 11, 0, 261 }, { 145, 0, 54 }, { 139, 11, 814 }, + { 14, 0, 338 }, { 148, 0, 81 }, { 4, 0, 300 }, { 133, 0, 436 }, + { 5, 0, 419 }, { 5, 0, 687 }, { 7, 0, 864 }, { 9, 0, 470 }, + { 135, 11, 864 }, { 9, 0, 836 }, { 133, 11, 242 }, { 134, 0, 1937 }, + { 4, 10, 763 }, { 133, 11, 953 }, { 132, 10, 622 }, { 132, 0, 393 }, + { 133, 10, 253 }, { 8, 0, 357 }, { 10, 0, 745 }, { 14, 0, 426 }, + { 17, 0, 94 }, { 19, 0, 57 }, { 135, 10, 546 }, { 5, 11, 615 }, + { 146, 11, 37 }, { 9, 10, 73 }, { 10, 10, 110 }, { 14, 10, 185 }, + { 145, 10, 119 }, { 11, 0, 703 }, { 7, 10, 624 }, { 7, 10, 916 }, + { 10, 10, 256 }, { 139, 10, 87 }, { 133, 11, 290 }, { 5, 10, 212 }, + { 12, 10, 35 }, { 141, 10, 382 }, { 132, 11, 380 }, { 5, 11, 52 }, + { 7, 11, 277 }, { 9, 11, 368 }, { 139, 11, 791 }, { 133, 0, 387 }, + { 10, 11, 138 }, { 139, 11, 476 }, { 4, 0, 6 }, { 5, 0, 708 }, + { 136, 0, 75 }, { 7, 0, 1351 }, { 9, 0, 581 }, { 10, 0, 639 }, + { 11, 0, 453 }, { 140, 0, 584 }, { 132, 0, 303 }, { 138, 0, 772 }, + { 135, 10, 1175 }, { 4, 0, 749 }, { 5, 10, 816 }, { 6, 11, 256 }, + { 7, 11, 307 }, { 7, 11, 999 }, { 7, 11, 1481 }, { 7, 11, 1732 }, + { 7, 11, 1738 }, { 8, 11, 265 }, { 9, 11, 414 }, { 11, 11, 316 }, + { 12, 11, 52 }, { 13, 11, 420 }, { 147, 11, 100 }, { 135, 11, 1296 }, + { 6, 0, 1065 }, { 5, 10, 869 }, { 5, 10, 968 }, { 6, 10, 1626 }, + { 8, 10, 734 }, { 136, 10, 784 }, { 4, 10, 542 }, { 6, 10, 1716 }, + { 6, 10, 1727 }, { 7, 10, 1082 }, { 7, 10, 1545 }, { 8, 10, 56 }, + { 8, 10, 118 }, { 8, 10, 412 }, { 8, 10, 564 }, { 9, 10, 888 }, + { 9, 10, 908 }, { 10, 10, 50 }, { 10, 10, 423 }, { 11, 10, 685 }, + { 11, 10, 697 }, { 11, 10, 933 }, { 12, 10, 299 }, { 13, 10, 126 }, + { 13, 10, 136 }, { 13, 10, 170 }, { 141, 10, 190 }, { 134, 0, 226 }, + { 4, 0, 106 }, { 7, 0, 310 }, { 11, 0, 717 }, { 133, 11, 723 }, + { 5, 0, 890 }, { 5, 0, 988 }, { 4, 10, 232 }, { 9, 10, 202 }, + { 10, 10, 474 }, { 140, 10, 433 }, { 6, 0, 626 }, { 142, 0, 431 }, + { 10, 0, 706 }, { 150, 0, 44 }, { 13, 0, 51 }, { 6, 10, 108 }, + { 7, 10, 1003 }, { 7, 10, 1181 }, { 8, 10, 111 }, { 136, 10, 343 }, + { 132, 0, 698 }, { 5, 11, 109 }, { 6, 11, 1784 }, { 7, 11, 1895 }, + { 12, 11, 296 }, { 140, 11, 302 }, { 134, 0, 828 }, { 134, 10, 1712 }, + { 138, 0, 17 }, { 7, 0, 1929 }, { 4, 10, 133 }, { 5, 11, 216 }, + { 7, 10, 711 }, { 7, 10, 1298 }, { 7, 10, 1585 }, { 7, 11, 1879 }, + { 9, 11, 141 }, { 9, 11, 270 }, { 9, 11, 679 }, { 10, 11, 159 }, + { 10, 11, 553 }, { 11, 11, 197 }, { 11, 11, 438 }, { 12, 11, 538 }, + { 12, 11, 559 }, { 13, 11, 193 }, { 13, 11, 423 }, { 14, 11, 144 }, + { 14, 11, 166 }, { 14, 11, 167 }, { 15, 11, 67 }, { 147, 11, 84 }, + { 141, 11, 127 }, { 7, 11, 1872 }, { 137, 11, 81 }, { 6, 10, 99 }, + { 7, 10, 1808 }, { 145, 10, 57 }, { 134, 11, 391 }, { 5, 0, 689 }, + { 6, 0, 84 }, { 7, 0, 1250 }, { 6, 10, 574 }, { 7, 10, 428 }, + { 10, 10, 669 }, { 11, 10, 485 }, { 11, 10, 840 }, { 12, 10, 300 }, + { 142, 10, 250 }, { 7, 11, 322 }, { 136, 11, 249 }, { 7, 11, 432 }, + { 135, 11, 1649 }, { 135, 10, 1871 }, { 137, 10, 252 }, { 6, 11, 155 }, + { 140, 11, 234 }, { 7, 0, 871 }, { 19, 0, 27 }, { 147, 11, 27 }, + { 140, 0, 498 }, { 5, 0, 986 }, { 6, 0, 130 }, { 138, 0, 823 }, + { 6, 0, 1793 }, { 7, 0, 1582 }, { 8, 0, 458 }, { 10, 0, 101 }, + { 10, 0, 318 }, { 10, 0, 945 }, { 12, 0, 734 }, { 16, 0, 104 }, + { 18, 0, 177 }, { 6, 10, 323 }, { 135, 10, 1564 }, { 5, 11, 632 }, + { 138, 11, 526 }, { 10, 0, 435 }, { 7, 10, 461 }, { 136, 10, 775 }, + { 6, 11, 144 }, { 7, 11, 948 }, { 7, 11, 1042 }, { 7, 11, 1857 }, + { 8, 11, 235 }, { 8, 11, 461 }, { 9, 11, 453 }, { 9, 11, 530 }, + { 10, 11, 354 }, { 17, 11, 77 }, { 19, 11, 99 }, { 148, 11, 79 }, + { 138, 0, 966 }, { 7, 0, 1644 }, { 137, 0, 129 }, { 135, 0, 997 }, + { 136, 0, 502 }, { 5, 11, 196 }, { 6, 11, 486 }, { 7, 11, 212 }, + { 8, 11, 309 }, { 136, 11, 346 }, { 7, 10, 727 }, { 146, 10, 73 }, + { 132, 0, 823 }, { 132, 11, 686 }, { 135, 0, 1927 }, { 4, 0, 762 }, + { 7, 0, 1756 }, { 137, 0, 98 }, { 136, 10, 577 }, { 24, 0, 8 }, + { 4, 11, 30 }, { 5, 11, 43 }, { 152, 11, 8 }, { 7, 0, 1046 }, + { 139, 0, 160 }, { 7, 0, 492 }, { 4, 10, 413 }, { 5, 10, 677 }, + { 7, 11, 492 }, { 8, 10, 432 }, { 140, 10, 280 }, { 6, 0, 45 }, + { 7, 0, 433 }, { 8, 0, 129 }, { 9, 0, 21 }, { 10, 0, 392 }, + { 11, 0, 79 }, { 12, 0, 499 }, { 13, 0, 199 }, { 141, 0, 451 }, + { 7, 0, 558 }, { 136, 0, 353 }, { 4, 11, 220 }, { 7, 11, 1535 }, + { 9, 11, 93 }, { 139, 11, 474 }, { 7, 10, 646 }, { 7, 10, 1730 }, + { 11, 10, 446 }, { 141, 10, 178 }, { 133, 0, 785 }, { 134, 0, 1145 }, + { 8, 0, 81 }, { 9, 0, 189 }, { 9, 0, 201 }, { 11, 0, 478 }, + { 11, 0, 712 }, { 141, 0, 338 }, { 5, 0, 353 }, { 151, 0, 26 }, + { 11, 0, 762 }, { 132, 10, 395 }, { 134, 0, 2024 }, { 4, 0, 611 }, + { 133, 0, 606 }, { 9, 10, 174 }, { 10, 10, 164 }, { 11, 10, 440 }, + { 11, 10, 841 }, { 143, 10, 98 }, { 134, 10, 426 }, { 10, 10, 608 }, + { 139, 10, 1002 }, { 138, 10, 250 }, { 6, 0, 25 }, { 7, 0, 855 }, + { 7, 0, 1258 }, { 144, 0, 32 }, { 7, 11, 1725 }, { 138, 11, 393 }, + { 5, 11, 263 }, { 134, 11, 414 }, { 6, 0, 2011 }, { 133, 10, 476 }, + { 4, 0, 4 }, { 7, 0, 1118 }, { 7, 0, 1320 }, { 7, 0, 1706 }, + { 8, 0, 277 }, { 9, 0, 622 }, { 10, 0, 9 }, { 11, 0, 724 }, + { 12, 0, 350 }, { 12, 0, 397 }, { 13, 0, 28 }, { 13, 0, 159 }, + { 15, 0, 89 }, { 18, 0, 5 }, { 19, 0, 9 }, { 20, 0, 34 }, + { 22, 0, 47 }, { 6, 11, 178 }, { 6, 11, 1750 }, { 8, 11, 251 }, + { 9, 11, 690 }, { 10, 11, 155 }, { 10, 11, 196 }, { 10, 11, 373 }, + { 11, 11, 698 }, { 13, 11, 155 }, { 148, 11, 93 }, { 5, 11, 97 }, + { 137, 11, 393 }, { 7, 0, 764 }, { 11, 0, 461 }, { 12, 0, 172 }, + { 5, 10, 76 }, { 6, 10, 458 }, { 6, 10, 497 }, { 7, 10, 868 }, + { 9, 10, 658 }, { 10, 10, 594 }, { 11, 10, 566 }, { 12, 10, 338 }, + { 141, 10, 200 }, { 134, 0, 1449 }, { 138, 11, 40 }, { 134, 11, 1639 }, + { 134, 0, 1445 }, { 6, 0, 1168 }, { 4, 10, 526 }, { 7, 10, 1029 }, + { 135, 10, 1054 }, { 4, 11, 191 }, { 7, 11, 934 }, { 8, 11, 647 }, + { 145, 11, 97 }, { 132, 10, 636 }, { 6, 0, 233 }, { 7, 10, 660 }, + { 7, 10, 1124 }, { 17, 10, 31 }, { 19, 10, 22 }, { 151, 10, 14 }, + { 6, 10, 1699 }, { 136, 11, 110 }, { 12, 11, 246 }, { 15, 11, 162 }, + { 19, 11, 64 }, { 20, 11, 8 }, { 20, 11, 95 }, { 22, 11, 24 }, + { 152, 11, 17 }, { 5, 11, 165 }, { 9, 11, 346 }, { 138, 11, 655 }, + { 5, 11, 319 }, { 135, 11, 534 }, { 134, 0, 255 }, { 9, 0, 216 }, + { 8, 11, 128 }, { 139, 11, 179 }, { 9, 0, 183 }, { 139, 0, 286 }, + { 11, 0, 956 }, { 151, 0, 3 }, { 4, 0, 536 }, { 7, 0, 1141 }, + { 10, 0, 723 }, { 139, 0, 371 }, { 4, 10, 279 }, { 7, 10, 301 }, + { 137, 10, 362 }, { 7, 0, 285 }, { 5, 11, 57 }, { 6, 11, 101 }, + { 6, 11, 1663 }, { 7, 11, 132 }, { 7, 11, 1048 }, { 7, 11, 1154 }, + { 7, 11, 1415 }, { 7, 11, 1507 }, { 12, 11, 493 }, { 15, 11, 105 }, + { 151, 11, 15 }, { 5, 11, 459 }, { 7, 11, 1073 }, { 7, 10, 1743 }, + { 8, 11, 241 }, { 136, 11, 334 }, { 4, 10, 178 }, { 133, 10, 399 }, + { 135, 0, 560 }, { 132, 0, 690 }, { 135, 0, 1246 }, { 18, 0, 157 }, + { 147, 0, 63 }, { 10, 0, 599 }, { 11, 0, 33 }, { 12, 0, 571 }, + { 149, 0, 1 }, { 6, 11, 324 }, { 6, 11, 520 }, { 7, 11, 338 }, + { 7, 11, 1616 }, { 7, 11, 1729 }, { 8, 11, 228 }, { 9, 11, 69 }, + { 139, 11, 750 }, { 7, 0, 1862 }, { 12, 0, 491 }, { 12, 0, 520 }, + { 13, 0, 383 }, { 142, 0, 244 }, { 135, 11, 734 }, { 134, 10, 1692 }, + { 10, 0, 448 }, { 11, 0, 630 }, { 17, 0, 117 }, { 6, 10, 202 }, + { 7, 11, 705 }, { 12, 10, 360 }, { 17, 10, 118 }, { 18, 10, 27 }, + { 148, 10, 67 }, { 4, 11, 73 }, { 6, 11, 612 }, { 7, 11, 927 }, + { 7, 11, 1822 }, { 8, 11, 217 }, { 9, 11, 472 }, { 9, 11, 765 }, + { 9, 11, 766 }, { 10, 11, 408 }, { 11, 11, 51 }, { 11, 11, 793 }, + { 12, 11, 266 }, { 15, 11, 158 }, { 20, 11, 89 }, { 150, 11, 32 }, + { 4, 0, 190 }, { 133, 0, 554 }, { 133, 0, 1001 }, { 5, 11, 389 }, + { 8, 11, 636 }, { 137, 11, 229 }, { 5, 0, 446 }, { 7, 10, 872 }, + { 10, 10, 516 }, { 139, 10, 167 }, { 137, 10, 313 }, { 132, 10, 224 }, + { 134, 0, 1313 }, { 5, 10, 546 }, { 7, 10, 35 }, { 8, 10, 11 }, + { 8, 10, 12 }, { 9, 10, 315 }, { 9, 10, 533 }, { 10, 10, 802 }, + { 11, 10, 166 }, { 12, 10, 525 }, { 142, 10, 243 }, { 6, 0, 636 }, + { 137, 0, 837 }, { 5, 10, 241 }, { 8, 10, 242 }, { 9, 10, 451 }, + { 10, 10, 667 }, { 11, 10, 598 }, { 140, 10, 429 }, { 22, 10, 46 }, + { 150, 11, 46 }, { 136, 11, 472 }, { 11, 0, 278 }, { 142, 0, 73 }, + { 141, 11, 185 }, { 132, 0, 868 }, { 134, 0, 972 }, { 4, 10, 366 }, + { 137, 10, 516 }, { 138, 0, 1010 }, { 5, 11, 189 }, { 6, 10, 1736 }, + { 7, 11, 442 }, { 7, 11, 443 }, { 8, 11, 281 }, { 12, 11, 174 }, + { 13, 11, 83 }, { 141, 11, 261 }, { 139, 11, 384 }, { 6, 11, 2 }, + { 7, 11, 191 }, { 7, 11, 446 }, { 7, 11, 758 }, { 7, 11, 1262 }, + { 7, 11, 1737 }, { 8, 11, 22 }, { 8, 11, 270 }, { 8, 11, 612 }, + { 9, 11, 4 }, { 9, 11, 167 }, { 9, 11, 312 }, { 9, 11, 436 }, + { 10, 11, 156 }, { 10, 11, 216 }, { 10, 11, 311 }, { 10, 11, 623 }, + { 11, 11, 72 }, { 11, 11, 330 }, { 11, 11, 455 }, { 12, 11, 101 }, + { 12, 11, 321 }, { 12, 11, 504 }, { 12, 11, 530 }, { 12, 11, 543 }, + { 13, 11, 17 }, { 13, 11, 156 }, { 13, 11, 334 }, { 14, 11, 48 }, + { 15, 11, 70 }, { 17, 11, 60 }, { 148, 11, 64 }, { 6, 10, 331 }, + { 136, 10, 623 }, { 135, 0, 1231 }, { 132, 0, 304 }, { 6, 11, 60 }, + { 7, 11, 670 }, { 7, 11, 1327 }, { 8, 11, 411 }, { 8, 11, 435 }, + { 9, 11, 653 }, { 9, 11, 740 }, { 10, 11, 385 }, { 11, 11, 222 }, + { 11, 11, 324 }, { 11, 11, 829 }, { 140, 11, 611 }, { 7, 0, 506 }, + { 6, 11, 166 }, { 7, 11, 374 }, { 135, 11, 1174 }, { 14, 11, 43 }, + { 146, 11, 21 }, { 135, 11, 1694 }, { 135, 10, 1888 }, { 5, 11, 206 }, + { 134, 11, 398 }, { 135, 11, 50 }, { 150, 0, 26 }, { 6, 0, 53 }, + { 6, 0, 199 }, { 7, 0, 1408 }, { 8, 0, 32 }, { 8, 0, 93 }, + { 10, 0, 397 }, { 10, 0, 629 }, { 11, 0, 593 }, { 11, 0, 763 }, + { 13, 0, 326 }, { 145, 0, 35 }, { 134, 0, 105 }, { 132, 10, 394 }, + { 4, 0, 843 }, { 138, 0, 794 }, { 11, 0, 704 }, { 141, 0, 396 }, + { 5, 0, 114 }, { 5, 0, 255 }, { 141, 0, 285 }, { 6, 0, 619 }, + { 7, 0, 898 }, { 7, 0, 1092 }, { 8, 0, 485 }, { 18, 0, 28 }, + { 19, 0, 116 }, { 135, 10, 1931 }, { 9, 0, 145 }, { 7, 10, 574 }, + { 135, 10, 1719 }, { 7, 0, 2035 }, { 8, 0, 19 }, { 9, 0, 89 }, + { 138, 0, 831 }, { 132, 10, 658 }, { 6, 11, 517 }, { 7, 11, 1159 }, + { 10, 11, 621 }, { 139, 11, 192 }, { 7, 0, 1933 }, { 7, 11, 1933 }, + { 9, 10, 781 }, { 10, 10, 144 }, { 11, 10, 385 }, { 13, 10, 161 }, + { 13, 10, 228 }, { 13, 10, 268 }, { 148, 10, 107 }, { 136, 10, 374 }, + { 10, 11, 223 }, { 139, 11, 645 }, { 135, 0, 1728 }, { 7, 11, 64 }, + { 7, 11, 289 }, { 136, 11, 245 }, { 4, 10, 344 }, { 6, 10, 498 }, + { 139, 10, 323 }, { 136, 0, 746 }, { 135, 10, 1063 }, { 137, 10, 155 }, + { 4, 0, 987 }, { 6, 0, 1964 }, { 6, 0, 1974 }, { 6, 0, 1990 }, + { 136, 0, 995 }, { 133, 11, 609 }, { 133, 10, 906 }, { 134, 0, 1550 }, + { 134, 0, 874 }, { 5, 11, 129 }, { 6, 11, 61 }, { 135, 11, 947 }, + { 4, 0, 1018 }, { 6, 0, 1938 }, { 6, 0, 2021 }, { 134, 0, 2039 }, + { 132, 0, 814 }, { 11, 0, 126 }, { 139, 0, 287 }, { 134, 0, 1264 }, + { 5, 0, 955 }, { 136, 0, 814 }, { 141, 11, 506 }, { 132, 11, 314 }, + { 6, 0, 981 }, { 139, 11, 1000 }, { 5, 0, 56 }, { 8, 0, 892 }, + { 8, 0, 915 }, { 140, 0, 776 }, { 148, 0, 100 }, { 10, 0, 4 }, + { 10, 0, 13 }, { 11, 0, 638 }, { 148, 0, 57 }, { 148, 11, 74 }, + { 5, 0, 738 }, { 132, 10, 616 }, { 133, 11, 637 }, { 136, 10, 692 }, + { 133, 0, 758 }, { 132, 10, 305 }, { 137, 11, 590 }, { 5, 11, 280 }, + { 135, 11, 1226 }, { 134, 11, 494 }, { 135, 0, 1112 }, { 133, 11, 281 }, + { 13, 0, 44 }, { 14, 0, 214 }, { 5, 10, 214 }, { 7, 10, 603 }, + { 8, 10, 611 }, { 9, 10, 686 }, { 10, 10, 88 }, { 11, 10, 459 }, + { 11, 10, 496 }, { 12, 10, 463 }, { 140, 10, 590 }, { 139, 0, 328 }, + { 135, 11, 1064 }, { 137, 0, 133 }, { 7, 0, 168 }, { 13, 0, 196 }, + { 141, 0, 237 }, { 134, 10, 1703 }, { 134, 0, 1152 }, { 135, 0, 1245 }, + { 5, 0, 110 }, { 6, 0, 169 }, { 6, 0, 1702 }, { 7, 0, 400 }, + { 8, 0, 538 }, { 9, 0, 184 }, { 9, 0, 524 }, { 140, 0, 218 }, + { 6, 0, 1816 }, { 10, 0, 871 }, { 12, 0, 769 }, { 140, 0, 785 }, + { 132, 11, 630 }, { 7, 11, 33 }, { 7, 11, 120 }, { 8, 11, 489 }, + { 9, 11, 319 }, { 10, 11, 820 }, { 11, 11, 1004 }, { 12, 11, 379 }, + { 13, 11, 117 }, { 13, 11, 412 }, { 14, 11, 25 }, { 15, 11, 52 }, + { 15, 11, 161 }, { 16, 11, 47 }, { 149, 11, 2 }, { 6, 0, 133 }, + { 8, 0, 413 }, { 9, 0, 353 }, { 139, 0, 993 }, { 145, 10, 19 }, + { 4, 11, 937 }, { 133, 11, 801 }, { 134, 0, 978 }, { 6, 0, 93 }, + { 6, 0, 1508 }, { 7, 0, 1422 }, { 7, 0, 1851 }, { 8, 0, 673 }, + { 9, 0, 529 }, { 140, 0, 43 }, { 6, 0, 317 }, { 10, 0, 512 }, + { 4, 10, 737 }, { 11, 10, 294 }, { 12, 10, 60 }, { 12, 10, 437 }, + { 13, 10, 64 }, { 13, 10, 380 }, { 142, 10, 430 }, { 9, 0, 371 }, + { 7, 11, 1591 }, { 144, 11, 43 }, { 6, 10, 1758 }, { 8, 10, 520 }, + { 9, 10, 345 }, { 9, 10, 403 }, { 142, 10, 350 }, { 5, 0, 526 }, + { 10, 10, 242 }, { 138, 10, 579 }, { 9, 0, 25 }, { 10, 0, 467 }, + { 138, 0, 559 }, { 5, 10, 139 }, { 7, 10, 1168 }, { 138, 10, 539 }, + { 4, 0, 335 }, { 135, 0, 942 }, { 140, 0, 754 }, { 132, 11, 365 }, + { 11, 0, 182 }, { 142, 0, 195 }, { 142, 11, 29 }, { 5, 11, 7 }, + { 139, 11, 774 }, { 4, 11, 746 }, { 135, 11, 1090 }, { 8, 0, 39 }, + { 10, 0, 773 }, { 11, 0, 84 }, { 12, 0, 205 }, { 142, 0, 1 }, + { 5, 0, 601 }, { 5, 0, 870 }, { 5, 11, 360 }, { 136, 11, 237 }, + { 132, 0, 181 }, { 136, 0, 370 }, { 134, 0, 1652 }, { 8, 0, 358 }, + { 4, 10, 107 }, { 7, 10, 613 }, { 8, 10, 439 }, { 8, 10, 504 }, + { 9, 10, 501 }, { 10, 10, 383 }, { 139, 10, 477 }, { 132, 10, 229 }, + { 137, 11, 785 }, { 4, 0, 97 }, { 5, 0, 147 }, { 6, 0, 286 }, + { 7, 0, 1362 }, { 141, 0, 176 }, { 6, 0, 537 }, { 7, 0, 788 }, + { 7, 0, 1816 }, { 132, 10, 903 }, { 140, 10, 71 }, { 6, 0, 743 }, + { 134, 0, 1223 }, { 6, 0, 375 }, { 7, 0, 169 }, { 7, 0, 254 }, + { 8, 0, 780 }, { 135, 11, 1493 }, { 7, 0, 1714 }, { 4, 10, 47 }, + { 6, 10, 373 }, { 7, 10, 452 }, { 7, 10, 543 }, { 7, 10, 1856 }, + { 9, 10, 6 }, { 11, 10, 257 }, { 139, 10, 391 }, { 6, 0, 896 }, + { 136, 0, 1003 }, { 135, 0, 1447 }, { 137, 11, 341 }, { 5, 10, 980 }, + { 134, 10, 1754 }, { 145, 11, 22 }, { 4, 11, 277 }, { 5, 11, 608 }, + { 6, 11, 493 }, { 7, 11, 457 }, { 140, 11, 384 }, { 7, 10, 536 }, + { 7, 10, 1331 }, { 136, 10, 143 }, { 140, 0, 744 }, { 7, 11, 27 }, + { 135, 11, 316 }, { 18, 0, 126 }, { 5, 10, 19 }, { 134, 10, 533 }, + { 4, 0, 788 }, { 11, 0, 41 }, { 5, 11, 552 }, { 5, 11, 586 }, + { 5, 11, 676 }, { 6, 11, 448 }, { 8, 11, 244 }, { 11, 11, 1 }, + { 11, 11, 41 }, { 13, 11, 3 }, { 16, 11, 54 }, { 17, 11, 4 }, + { 146, 11, 13 }, { 4, 0, 985 }, { 6, 0, 1801 }, { 4, 11, 401 }, + { 137, 11, 264 }, { 5, 10, 395 }, { 5, 10, 951 }, { 134, 10, 1776 }, + { 5, 0, 629 }, { 135, 0, 1549 }, { 11, 10, 663 }, { 12, 10, 210 }, + { 13, 10, 166 }, { 13, 10, 310 }, { 14, 10, 373 }, { 147, 10, 43 }, + { 9, 11, 543 }, { 10, 11, 524 }, { 11, 11, 30 }, { 12, 11, 524 }, + { 14, 11, 315 }, { 16, 11, 18 }, { 20, 11, 26 }, { 148, 11, 65 }, + { 4, 11, 205 }, { 5, 11, 623 }, { 7, 11, 104 }, { 136, 11, 519 }, + { 5, 0, 293 }, { 134, 0, 601 }, { 7, 11, 579 }, { 9, 11, 41 }, + { 9, 11, 244 }, { 9, 11, 669 }, { 10, 11, 5 }, { 11, 11, 861 }, + { 11, 11, 951 }, { 139, 11, 980 }, { 132, 11, 717 }, { 132, 10, 695 }, + { 7, 10, 497 }, { 9, 10, 387 }, { 147, 10, 81 }, { 132, 0, 420 }, + { 142, 0, 37 }, { 6, 0, 1134 }, { 6, 0, 1900 }, { 12, 0, 830 }, + { 12, 0, 878 }, { 12, 0, 894 }, { 15, 0, 221 }, { 143, 0, 245 }, + { 132, 11, 489 }, { 7, 0, 1570 }, { 140, 0, 542 }, { 8, 0, 933 }, + { 136, 0, 957 }, { 6, 0, 1371 }, { 7, 0, 31 }, { 8, 0, 373 }, + { 5, 10, 284 }, { 6, 10, 49 }, { 6, 10, 350 }, { 7, 10, 377 }, + { 7, 10, 1693 }, { 8, 10, 678 }, { 9, 10, 161 }, { 9, 10, 585 }, + { 9, 10, 671 }, { 9, 10, 839 }, { 11, 10, 912 }, { 141, 10, 427 }, + { 135, 11, 892 }, { 4, 0, 325 }, { 138, 0, 125 }, { 139, 11, 47 }, + { 132, 10, 597 }, { 138, 0, 323 }, { 6, 0, 1547 }, { 7, 11, 1605 }, + { 9, 11, 473 }, { 11, 11, 962 }, { 146, 11, 139 }, { 139, 10, 908 }, + { 7, 11, 819 }, { 9, 11, 26 }, { 9, 11, 392 }, { 10, 11, 152 }, + { 10, 11, 226 }, { 11, 11, 19 }, { 12, 11, 276 }, { 12, 11, 426 }, + { 12, 11, 589 }, { 13, 11, 460 }, { 15, 11, 97 }, { 19, 11, 48 }, + { 148, 11, 104 }, { 135, 11, 51 }, { 4, 0, 718 }, { 135, 0, 1216 }, + { 6, 0, 1896 }, { 6, 0, 1905 }, { 6, 0, 1912 }, { 9, 0, 947 }, + { 9, 0, 974 }, { 12, 0, 809 }, { 12, 0, 850 }, { 12, 0, 858 }, + { 12, 0, 874 }, { 12, 0, 887 }, { 12, 0, 904 }, { 12, 0, 929 }, + { 12, 0, 948 }, { 12, 0, 952 }, { 15, 0, 198 }, { 15, 0, 206 }, + { 15, 0, 220 }, { 15, 0, 227 }, { 15, 0, 247 }, { 18, 0, 188 }, + { 21, 0, 48 }, { 21, 0, 50 }, { 24, 0, 25 }, { 24, 0, 29 }, + { 7, 11, 761 }, { 7, 11, 1051 }, { 137, 11, 545 }, { 5, 0, 124 }, + { 5, 0, 144 }, { 6, 0, 548 }, { 7, 0, 15 }, { 7, 0, 153 }, + { 137, 0, 629 }, { 135, 11, 606 }, { 135, 10, 2014 }, { 7, 10, 2007 }, + { 9, 11, 46 }, { 9, 10, 101 }, { 9, 10, 450 }, { 10, 10, 66 }, + { 10, 10, 842 }, { 11, 10, 536 }, { 140, 10, 587 }, { 6, 0, 75 }, + { 7, 0, 1531 }, { 8, 0, 416 }, { 9, 0, 240 }, { 9, 0, 275 }, + { 10, 0, 100 }, { 11, 0, 658 }, { 11, 0, 979 }, { 12, 0, 86 }, + { 14, 0, 207 }, { 15, 0, 20 }, { 143, 0, 25 }, { 5, 0, 141 }, + { 5, 0, 915 }, { 6, 0, 1783 }, { 7, 0, 211 }, { 7, 0, 698 }, + { 7, 0, 1353 }, { 9, 0, 83 }, { 9, 0, 281 }, { 10, 0, 376 }, + { 10, 0, 431 }, { 11, 0, 543 }, { 12, 0, 664 }, { 13, 0, 280 }, + { 13, 0, 428 }, { 14, 0, 61 }, { 14, 0, 128 }, { 17, 0, 52 }, + { 145, 0, 81 }, { 132, 11, 674 }, { 135, 0, 533 }, { 149, 0, 6 }, + { 132, 11, 770 }, { 133, 0, 538 }, { 5, 11, 79 }, { 7, 11, 1027 }, + { 7, 11, 1477 }, { 139, 11, 52 }, { 139, 10, 62 }, { 4, 0, 338 }, + { 133, 0, 400 }, { 5, 11, 789 }, { 134, 11, 195 }, { 4, 11, 251 }, + { 4, 11, 688 }, { 7, 11, 513 }, { 7, 11, 1284 }, { 9, 11, 87 }, + { 138, 11, 365 }, { 134, 10, 1766 }, { 6, 0, 0 }, { 7, 0, 84 }, + { 11, 0, 895 }, { 145, 0, 11 }, { 139, 0, 892 }, { 4, 0, 221 }, + { 5, 0, 659 }, { 7, 0, 697 }, { 7, 0, 1211 }, { 138, 0, 284 }, + { 133, 0, 989 }, { 133, 11, 889 }, { 4, 11, 160 }, { 5, 11, 330 }, + { 7, 11, 1434 }, { 136, 11, 174 }, { 6, 10, 1665 }, { 7, 10, 256 }, + { 7, 10, 1388 }, { 10, 10, 499 }, { 139, 10, 670 }, { 7, 0, 848 }, + { 4, 10, 22 }, { 5, 10, 10 }, { 136, 10, 97 }, { 138, 0, 507 }, + { 133, 10, 481 }, { 4, 0, 188 }, { 135, 0, 805 }, { 5, 0, 884 }, + { 6, 0, 732 }, { 139, 0, 991 }, { 135, 11, 968 }, { 11, 11, 636 }, + { 15, 11, 145 }, { 17, 11, 34 }, { 19, 11, 50 }, { 151, 11, 20 }, + { 7, 0, 959 }, { 16, 0, 60 }, { 6, 10, 134 }, { 7, 10, 437 }, + { 9, 10, 37 }, { 14, 10, 285 }, { 142, 10, 371 }, { 7, 10, 486 }, + { 8, 10, 155 }, { 11, 10, 93 }, { 140, 10, 164 }, { 134, 0, 1653 }, + { 7, 0, 337 }, { 133, 10, 591 }, { 6, 0, 1989 }, { 8, 0, 922 }, + { 8, 0, 978 }, { 133, 11, 374 }, { 132, 0, 638 }, { 138, 0, 500 }, + { 133, 11, 731 }, { 5, 10, 380 }, { 5, 10, 650 }, { 136, 10, 310 }, + { 138, 11, 381 }, { 4, 10, 364 }, { 7, 10, 1156 }, { 7, 10, 1187 }, + { 137, 10, 409 }, { 137, 11, 224 }, { 140, 0, 166 }, { 134, 10, 482 }, + { 4, 11, 626 }, { 5, 11, 642 }, { 6, 11, 425 }, { 10, 11, 202 }, + { 139, 11, 141 }, { 4, 10, 781 }, { 6, 10, 487 }, { 7, 10, 926 }, + { 8, 10, 263 }, { 139, 10, 500 }, { 135, 0, 418 }, { 4, 10, 94 }, + { 135, 10, 1265 }, { 136, 0, 760 }, { 132, 10, 417 }, { 136, 11, 835 }, + { 5, 10, 348 }, { 134, 10, 522 }, { 6, 0, 1277 }, { 134, 0, 1538 }, + { 139, 11, 541 }, { 135, 11, 1597 }, { 5, 11, 384 }, { 8, 11, 455 }, + { 140, 11, 48 }, { 136, 0, 770 }, { 5, 11, 264 }, { 134, 11, 184 }, + { 4, 0, 89 }, { 5, 0, 489 }, { 6, 0, 315 }, { 7, 0, 553 }, + { 7, 0, 1745 }, { 138, 0, 243 }, { 4, 10, 408 }, { 4, 10, 741 }, + { 135, 10, 500 }, { 134, 0, 1396 }, { 133, 0, 560 }, { 6, 0, 1658 }, + { 9, 0, 3 }, { 10, 0, 154 }, { 11, 0, 641 }, { 13, 0, 85 }, + { 13, 0, 201 }, { 141, 0, 346 }, { 135, 11, 1595 }, { 5, 11, 633 }, + { 6, 11, 28 }, { 7, 11, 219 }, { 135, 11, 1323 }, { 9, 11, 769 }, + { 140, 11, 185 }, { 135, 11, 785 }, { 7, 11, 359 }, { 8, 11, 243 }, + { 140, 11, 175 }, { 138, 0, 586 }, { 7, 0, 1271 }, { 134, 10, 73 }, + { 132, 11, 105 }, { 4, 0, 166 }, { 5, 0, 505 }, { 134, 0, 1670 }, + { 133, 10, 576 }, { 4, 11, 324 }, { 138, 11, 104 }, { 142, 10, 231 }, + { 6, 0, 637 }, { 7, 10, 1264 }, { 7, 10, 1678 }, { 11, 10, 945 }, + { 12, 10, 341 }, { 12, 10, 471 }, { 12, 10, 569 }, { 23, 11, 21 }, + { 151, 11, 23 }, { 8, 11, 559 }, { 141, 11, 109 }, { 134, 0, 1947 }, + { 7, 0, 445 }, { 8, 0, 307 }, { 8, 0, 704 }, { 10, 0, 41 }, + { 10, 0, 439 }, { 11, 0, 237 }, { 11, 0, 622 }, { 140, 0, 201 }, + { 135, 11, 963 }, { 135, 0, 1977 }, { 4, 0, 189 }, { 5, 0, 713 }, + { 136, 0, 57 }, { 138, 0, 371 }, { 135, 10, 538 }, { 132, 0, 552 }, + { 6, 0, 883 }, { 133, 10, 413 }, { 6, 0, 923 }, { 132, 11, 758 }, + { 138, 11, 215 }, { 136, 10, 495 }, { 7, 10, 54 }, { 8, 10, 312 }, + { 10, 10, 191 }, { 10, 10, 614 }, { 140, 10, 567 }, { 7, 11, 351 }, + { 139, 11, 128 }, { 7, 0, 875 }, { 6, 10, 468 }, { 7, 10, 1478 }, + { 8, 10, 530 }, { 142, 10, 290 }, { 135, 0, 1788 }, { 17, 0, 49 }, + { 133, 11, 918 }, { 12, 11, 398 }, { 20, 11, 39 }, { 21, 11, 11 }, + { 150, 11, 41 }, { 10, 0, 661 }, { 6, 10, 484 }, { 135, 10, 822 }, + { 135, 0, 1945 }, { 134, 0, 794 }, { 137, 10, 900 }, { 135, 10, 1335 }, + { 6, 10, 1724 }, { 135, 10, 2022 }, { 132, 11, 340 }, { 134, 0, 1135 }, + { 4, 0, 784 }, { 133, 0, 745 }, { 5, 0, 84 }, { 134, 0, 163 }, + { 133, 0, 410 }, { 4, 0, 976 }, { 5, 11, 985 }, { 7, 11, 509 }, + { 7, 11, 529 }, { 145, 11, 96 }, { 132, 10, 474 }, { 134, 0, 703 }, + { 135, 11, 1919 }, { 5, 0, 322 }, { 8, 0, 186 }, { 9, 0, 262 }, + { 10, 0, 187 }, { 142, 0, 208 }, { 135, 10, 1504 }, { 133, 0, 227 }, + { 9, 0, 560 }, { 13, 0, 208 }, { 133, 10, 305 }, { 132, 11, 247 }, + { 7, 0, 1395 }, { 8, 0, 486 }, { 9, 0, 236 }, { 9, 0, 878 }, + { 10, 0, 218 }, { 11, 0, 95 }, { 19, 0, 17 }, { 147, 0, 31 }, + { 7, 0, 2043 }, { 8, 0, 672 }, { 141, 0, 448 }, { 4, 11, 184 }, + { 5, 11, 390 }, { 6, 11, 337 }, { 7, 11, 23 }, { 7, 11, 494 }, + { 7, 11, 618 }, { 7, 11, 1456 }, { 8, 11, 27 }, { 8, 11, 599 }, + { 10, 11, 153 }, { 139, 11, 710 }, { 135, 0, 466 }, { 135, 10, 1236 }, + { 6, 0, 167 }, { 7, 0, 186 }, { 7, 0, 656 }, { 10, 0, 643 }, + { 4, 10, 480 }, { 6, 10, 302 }, { 6, 10, 1642 }, { 7, 10, 837 }, + { 7, 10, 1547 }, { 7, 10, 1657 }, { 8, 10, 429 }, { 9, 10, 228 }, + { 13, 10, 289 }, { 13, 10, 343 }, { 147, 10, 101 }, { 134, 0, 1428 }, + { 134, 0, 1440 }, { 5, 0, 412 }, { 7, 10, 278 }, { 10, 10, 739 }, + { 11, 10, 708 }, { 141, 10, 348 }, { 134, 0, 1118 }, { 136, 0, 562 }, + { 148, 11, 46 }, { 9, 0, 316 }, { 139, 0, 256 }, { 134, 0, 1771 }, + { 135, 0, 1190 }, { 137, 0, 132 }, { 10, 11, 227 }, { 11, 11, 497 }, + { 11, 11, 709 }, { 140, 11, 415 }, { 143, 0, 66 }, { 6, 11, 360 }, + { 7, 11, 1664 }, { 136, 11, 478 }, { 144, 10, 28 }, { 4, 0, 317 }, + { 135, 0, 1279 }, { 5, 0, 63 }, { 133, 0, 509 }, { 136, 11, 699 }, + { 145, 10, 36 }, { 134, 0, 1475 }, { 11, 11, 343 }, { 142, 11, 127 }, + { 132, 11, 739 }, { 132, 0, 288 }, { 135, 11, 1757 }, { 8, 0, 89 }, + { 8, 0, 620 }, { 9, 0, 608 }, { 11, 0, 628 }, { 12, 0, 322 }, + { 143, 0, 124 }, { 134, 0, 1225 }, { 7, 0, 1189 }, { 4, 11, 67 }, + { 5, 11, 422 }, { 6, 10, 363 }, { 7, 11, 1037 }, { 7, 11, 1289 }, + { 7, 11, 1555 }, { 7, 10, 1955 }, { 8, 10, 725 }, { 9, 11, 741 }, + { 145, 11, 108 }, { 134, 0, 1468 }, { 6, 0, 689 }, { 134, 0, 1451 }, + { 138, 0, 120 }, { 151, 0, 1 }, { 137, 10, 805 }, { 142, 0, 329 }, + { 5, 10, 813 }, { 135, 10, 2046 }, { 135, 0, 226 }, { 138, 11, 96 }, + { 7, 0, 1855 }, { 5, 10, 712 }, { 11, 10, 17 }, { 13, 10, 321 }, + { 144, 10, 67 }, { 9, 0, 461 }, { 6, 10, 320 }, { 7, 10, 781 }, + { 7, 10, 1921 }, { 9, 10, 55 }, { 10, 10, 186 }, { 10, 10, 273 }, + { 10, 10, 664 }, { 10, 10, 801 }, { 11, 10, 996 }, { 11, 10, 997 }, + { 13, 10, 157 }, { 142, 10, 170 }, { 8, 11, 203 }, { 8, 10, 271 }, + { 11, 11, 823 }, { 11, 11, 846 }, { 12, 11, 482 }, { 13, 11, 133 }, + { 13, 11, 277 }, { 13, 11, 302 }, { 13, 11, 464 }, { 14, 11, 205 }, + { 142, 11, 221 }, { 135, 0, 1346 }, { 4, 11, 449 }, { 133, 11, 718 }, + { 134, 0, 85 }, { 14, 0, 299 }, { 7, 10, 103 }, { 7, 10, 863 }, + { 11, 10, 184 }, { 145, 10, 62 }, { 4, 11, 355 }, { 6, 11, 311 }, + { 9, 11, 256 }, { 138, 11, 404 }, { 137, 10, 659 }, { 138, 11, 758 }, + { 133, 11, 827 }, { 5, 11, 64 }, { 140, 11, 581 }, { 134, 0, 1171 }, + { 4, 11, 442 }, { 7, 11, 1047 }, { 7, 11, 1352 }, { 135, 11, 1643 }, + { 132, 0, 980 }, { 5, 11, 977 }, { 6, 11, 288 }, { 7, 11, 528 }, + { 135, 11, 1065 }, { 5, 0, 279 }, { 6, 0, 235 }, { 7, 0, 468 }, + { 8, 0, 446 }, { 9, 0, 637 }, { 10, 0, 717 }, { 11, 0, 738 }, + { 140, 0, 514 }, { 132, 0, 293 }, { 11, 10, 337 }, { 142, 10, 303 }, + { 136, 11, 285 }, { 5, 0, 17 }, { 6, 0, 371 }, { 9, 0, 528 }, + { 12, 0, 364 }, { 132, 11, 254 }, { 5, 10, 77 }, { 7, 10, 1455 }, + { 10, 10, 843 }, { 147, 10, 73 }, { 150, 0, 5 }, { 132, 10, 458 }, + { 6, 11, 12 }, { 7, 11, 1219 }, { 145, 11, 73 }, { 135, 10, 1420 }, + { 6, 10, 109 }, { 138, 10, 382 }, { 135, 11, 125 }, { 6, 10, 330 }, + { 7, 10, 1084 }, { 139, 10, 142 }, { 6, 11, 369 }, { 6, 11, 502 }, + { 7, 11, 1036 }, { 8, 11, 348 }, { 9, 11, 452 }, { 10, 11, 26 }, + { 11, 11, 224 }, { 11, 11, 387 }, { 11, 11, 772 }, { 12, 11, 95 }, + { 12, 11, 629 }, { 13, 11, 195 }, { 13, 11, 207 }, { 13, 11, 241 }, + { 14, 11, 260 }, { 14, 11, 270 }, { 143, 11, 140 }, { 132, 11, 269 }, + { 5, 11, 480 }, { 7, 11, 532 }, { 7, 11, 1197 }, { 7, 11, 1358 }, + { 8, 11, 291 }, { 11, 11, 349 }, { 142, 11, 396 }, { 150, 0, 48 }, + { 10, 0, 601 }, { 13, 0, 353 }, { 141, 0, 376 }, { 5, 0, 779 }, + { 5, 0, 807 }, { 6, 0, 1655 }, { 134, 0, 1676 }, { 142, 11, 223 }, + { 4, 0, 196 }, { 5, 0, 558 }, { 133, 0, 949 }, { 148, 11, 15 }, + { 135, 11, 1764 }, { 134, 0, 1322 }, { 132, 0, 752 }, { 139, 0, 737 }, + { 135, 11, 657 }, { 136, 11, 533 }, { 135, 0, 412 }, { 4, 0, 227 }, + { 5, 0, 159 }, { 5, 0, 409 }, { 7, 0, 80 }, { 8, 0, 556 }, + { 10, 0, 479 }, { 12, 0, 418 }, { 14, 0, 50 }, { 14, 0, 123 }, + { 14, 0, 192 }, { 14, 0, 249 }, { 14, 0, 295 }, { 143, 0, 27 }, + { 7, 0, 1470 }, { 8, 0, 66 }, { 8, 0, 137 }, { 8, 0, 761 }, + { 9, 0, 638 }, { 11, 0, 80 }, { 11, 0, 212 }, { 11, 0, 368 }, + { 11, 0, 418 }, { 12, 0, 8 }, { 13, 0, 15 }, { 16, 0, 61 }, + { 17, 0, 59 }, { 19, 0, 28 }, { 148, 0, 84 }, { 135, 10, 1985 }, + { 4, 11, 211 }, { 4, 11, 332 }, { 5, 11, 335 }, { 6, 11, 238 }, + { 7, 11, 269 }, { 7, 11, 811 }, { 7, 11, 1797 }, { 8, 10, 122 }, + { 8, 11, 836 }, { 9, 11, 507 }, { 141, 11, 242 }, { 6, 0, 683 }, + { 134, 0, 1252 }, { 4, 0, 873 }, { 132, 10, 234 }, { 134, 0, 835 }, + { 6, 0, 38 }, { 7, 0, 1220 }, { 8, 0, 185 }, { 8, 0, 256 }, + { 9, 0, 22 }, { 9, 0, 331 }, { 10, 0, 738 }, { 11, 0, 205 }, + { 11, 0, 540 }, { 11, 0, 746 }, { 13, 0, 465 }, { 14, 0, 88 }, + { 142, 0, 194 }, { 138, 0, 986 }, { 5, 11, 1009 }, { 12, 11, 582 }, + { 146, 11, 131 }, { 4, 0, 159 }, { 6, 0, 115 }, { 7, 0, 252 }, + { 7, 0, 257 }, { 7, 0, 1928 }, { 8, 0, 69 }, { 9, 0, 384 }, + { 10, 0, 91 }, { 10, 0, 615 }, { 12, 0, 375 }, { 14, 0, 235 }, + { 18, 0, 117 }, { 147, 0, 123 }, { 133, 0, 911 }, { 136, 0, 278 }, + { 5, 10, 430 }, { 5, 10, 932 }, { 6, 10, 131 }, { 7, 10, 417 }, + { 9, 10, 522 }, { 11, 10, 314 }, { 141, 10, 390 }, { 14, 10, 149 }, + { 14, 10, 399 }, { 143, 10, 57 }, { 4, 0, 151 }, { 7, 0, 1567 }, + { 136, 0, 749 }, { 5, 11, 228 }, { 6, 11, 203 }, { 7, 11, 156 }, + { 8, 11, 347 }, { 137, 11, 265 }, { 132, 10, 507 }, { 10, 0, 989 }, + { 140, 0, 956 }, { 133, 0, 990 }, { 5, 0, 194 }, { 6, 0, 927 }, + { 7, 0, 1662 }, { 9, 0, 90 }, { 140, 0, 564 }, { 4, 10, 343 }, + { 133, 10, 511 }, { 133, 0, 425 }, { 7, 10, 455 }, { 138, 10, 591 }, + { 4, 0, 774 }, { 7, 11, 476 }, { 7, 11, 1592 }, { 138, 11, 87 }, + { 5, 0, 971 }, { 135, 10, 1381 }, { 5, 11, 318 }, { 147, 11, 121 }, + { 5, 11, 291 }, { 7, 11, 765 }, { 9, 11, 389 }, { 140, 11, 548 }, + { 134, 10, 575 }, { 4, 0, 827 }, { 12, 0, 646 }, { 12, 0, 705 }, + { 12, 0, 712 }, { 140, 0, 714 }, { 139, 0, 752 }, { 137, 0, 662 }, + { 5, 0, 72 }, { 6, 0, 264 }, { 7, 0, 21 }, { 7, 0, 46 }, + { 7, 0, 2013 }, { 8, 0, 215 }, { 8, 0, 513 }, { 10, 0, 266 }, + { 139, 0, 22 }, { 139, 11, 522 }, { 6, 0, 239 }, { 7, 0, 118 }, + { 10, 0, 95 }, { 11, 0, 603 }, { 13, 0, 443 }, { 14, 0, 160 }, + { 143, 0, 4 }, { 6, 0, 431 }, { 134, 0, 669 }, { 7, 10, 1127 }, + { 7, 10, 1572 }, { 10, 10, 297 }, { 10, 10, 422 }, { 11, 10, 764 }, + { 11, 10, 810 }, { 12, 10, 264 }, { 13, 10, 102 }, { 13, 10, 300 }, + { 13, 10, 484 }, { 14, 10, 147 }, { 14, 10, 229 }, { 17, 10, 71 }, + { 18, 10, 118 }, { 147, 10, 120 }, { 5, 0, 874 }, { 6, 0, 1677 }, + { 15, 0, 0 }, { 10, 11, 525 }, { 139, 11, 82 }, { 6, 0, 65 }, + { 7, 0, 939 }, { 7, 0, 1172 }, { 7, 0, 1671 }, { 9, 0, 540 }, + { 10, 0, 696 }, { 11, 0, 265 }, { 11, 0, 732 }, { 11, 0, 928 }, + { 11, 0, 937 }, { 141, 0, 438 }, { 134, 0, 1350 }, { 136, 11, 547 }, + { 132, 11, 422 }, { 5, 11, 355 }, { 145, 11, 0 }, { 137, 11, 905 }, + { 5, 0, 682 }, { 135, 0, 1887 }, { 132, 0, 809 }, { 4, 0, 696 }, + { 133, 11, 865 }, { 6, 0, 1074 }, { 6, 0, 1472 }, { 14, 10, 35 }, + { 142, 10, 191 }, { 5, 11, 914 }, { 134, 11, 1625 }, { 133, 11, 234 }, + { 135, 11, 1383 }, { 137, 11, 780 }, { 132, 10, 125 }, { 4, 0, 726 }, + { 133, 0, 630 }, { 8, 0, 802 }, { 136, 0, 838 }, { 132, 10, 721 }, + { 6, 0, 1337 }, { 7, 0, 776 }, { 19, 0, 56 }, { 136, 10, 145 }, + { 132, 0, 970 }, { 7, 10, 792 }, { 8, 10, 147 }, { 10, 10, 821 }, + { 139, 10, 1021 }, { 139, 10, 970 }, { 8, 0, 940 }, { 137, 0, 797 }, + { 135, 11, 1312 }, { 9, 0, 248 }, { 10, 0, 400 }, { 7, 11, 816 }, + { 7, 11, 1241 }, { 7, 10, 1999 }, { 9, 11, 283 }, { 9, 11, 520 }, + { 10, 11, 213 }, { 10, 11, 307 }, { 10, 11, 463 }, { 10, 11, 671 }, + { 10, 11, 746 }, { 11, 11, 401 }, { 11, 11, 794 }, { 12, 11, 517 }, + { 18, 11, 107 }, { 147, 11, 115 }, { 6, 0, 1951 }, { 134, 0, 2040 }, + { 135, 11, 339 }, { 13, 0, 41 }, { 15, 0, 93 }, { 5, 10, 168 }, + { 5, 10, 930 }, { 8, 10, 74 }, { 9, 10, 623 }, { 12, 10, 500 }, + { 140, 10, 579 }, { 6, 0, 118 }, { 7, 0, 215 }, { 7, 0, 1521 }, + { 140, 0, 11 }, { 6, 10, 220 }, { 7, 10, 1101 }, { 141, 10, 105 }, + { 6, 11, 421 }, { 7, 11, 61 }, { 7, 11, 1540 }, { 10, 11, 11 }, + { 138, 11, 501 }, { 7, 0, 615 }, { 138, 0, 251 }, { 140, 11, 631 }, + { 135, 0, 1044 }, { 6, 10, 19 }, { 7, 10, 1413 }, { 139, 10, 428 }, + { 133, 0, 225 }, { 7, 10, 96 }, { 8, 10, 401 }, { 8, 10, 703 }, + { 137, 10, 896 }, { 145, 10, 116 }, { 6, 11, 102 }, { 7, 11, 72 }, + { 15, 11, 142 }, { 147, 11, 67 }, { 7, 10, 1961 }, { 7, 10, 1965 }, + { 8, 10, 702 }, { 136, 10, 750 }, { 7, 10, 2030 }, { 8, 10, 150 }, + { 8, 10, 737 }, { 12, 10, 366 }, { 151, 11, 30 }, { 4, 0, 370 }, + { 5, 0, 756 }, { 7, 0, 1326 }, { 135, 11, 823 }, { 8, 10, 800 }, + { 9, 10, 148 }, { 9, 10, 872 }, { 9, 10, 890 }, { 11, 10, 309 }, + { 11, 10, 1001 }, { 13, 10, 267 }, { 141, 10, 323 }, { 6, 0, 1662 }, + { 7, 0, 48 }, { 8, 0, 771 }, { 10, 0, 116 }, { 13, 0, 104 }, + { 14, 0, 105 }, { 14, 0, 184 }, { 15, 0, 168 }, { 19, 0, 92 }, + { 148, 0, 68 }, { 10, 0, 209 }, { 135, 11, 1870 }, { 7, 11, 68 }, + { 8, 11, 48 }, { 8, 11, 88 }, { 8, 11, 582 }, { 8, 11, 681 }, + { 9, 11, 373 }, { 9, 11, 864 }, { 11, 11, 157 }, { 11, 11, 336 }, + { 11, 11, 843 }, { 148, 11, 27 }, { 134, 0, 930 }, { 4, 11, 88 }, + { 5, 11, 137 }, { 5, 11, 174 }, { 5, 11, 777 }, { 6, 11, 1664 }, + { 6, 11, 1725 }, { 7, 11, 77 }, { 7, 11, 426 }, { 7, 11, 1317 }, + { 7, 11, 1355 }, { 8, 11, 126 }, { 8, 11, 563 }, { 9, 11, 523 }, + { 9, 11, 750 }, { 10, 11, 310 }, { 10, 11, 836 }, { 11, 11, 42 }, + { 11, 11, 318 }, { 11, 11, 731 }, { 12, 11, 68 }, { 12, 11, 92 }, + { 12, 11, 507 }, { 12, 11, 692 }, { 13, 11, 81 }, { 13, 11, 238 }, + { 13, 11, 374 }, { 18, 11, 138 }, { 19, 11, 78 }, { 19, 11, 111 }, + { 20, 11, 55 }, { 20, 11, 77 }, { 148, 11, 92 }, { 4, 11, 938 }, + { 135, 11, 1831 }, { 5, 10, 547 }, { 7, 10, 424 }, { 8, 11, 617 }, + { 138, 11, 351 }, { 6, 0, 1286 }, { 6, 11, 1668 }, { 7, 11, 1499 }, + { 8, 11, 117 }, { 9, 11, 314 }, { 138, 11, 174 }, { 6, 0, 759 }, + { 6, 0, 894 }, { 7, 11, 707 }, { 139, 11, 563 }, { 4, 0, 120 }, + { 135, 0, 1894 }, { 9, 0, 385 }, { 149, 0, 17 }, { 138, 0, 429 }, + { 133, 11, 403 }, { 5, 0, 820 }, { 135, 0, 931 }, { 10, 0, 199 }, + { 133, 10, 133 }, { 6, 0, 151 }, { 6, 0, 1675 }, { 7, 0, 383 }, + { 151, 0, 10 }, { 6, 0, 761 }, { 136, 10, 187 }, { 8, 0, 365 }, + { 10, 10, 0 }, { 10, 10, 818 }, { 139, 10, 988 }, { 4, 11, 44 }, + { 5, 11, 311 }, { 6, 11, 156 }, { 7, 11, 639 }, { 7, 11, 762 }, + { 7, 11, 1827 }, { 9, 11, 8 }, { 9, 11, 462 }, { 148, 11, 83 }, + { 4, 11, 346 }, { 7, 11, 115 }, { 9, 11, 180 }, { 9, 11, 456 }, + { 138, 11, 363 }, { 136, 10, 685 }, { 7, 0, 1086 }, { 145, 0, 46 }, + { 6, 0, 1624 }, { 11, 0, 11 }, { 12, 0, 422 }, { 13, 0, 444 }, + { 142, 0, 360 }, { 6, 0, 1020 }, { 6, 0, 1260 }, { 134, 0, 1589 }, + { 4, 0, 43 }, { 5, 0, 344 }, { 5, 0, 357 }, { 14, 0, 472 }, + { 150, 0, 58 }, { 6, 0, 1864 }, { 6, 0, 1866 }, { 6, 0, 1868 }, + { 6, 0, 1869 }, { 6, 0, 1874 }, { 6, 0, 1877 }, { 6, 0, 1903 }, + { 6, 0, 1911 }, { 9, 0, 920 }, { 9, 0, 921 }, { 9, 0, 924 }, + { 9, 0, 946 }, { 9, 0, 959 }, { 9, 0, 963 }, { 9, 0, 970 }, + { 9, 0, 997 }, { 9, 0, 1008 }, { 9, 0, 1017 }, { 12, 0, 795 }, + { 12, 0, 797 }, { 12, 0, 798 }, { 12, 0, 800 }, { 12, 0, 803 }, + { 12, 0, 811 }, { 12, 0, 820 }, { 12, 0, 821 }, { 12, 0, 839 }, + { 12, 0, 841 }, { 12, 0, 848 }, { 12, 0, 911 }, { 12, 0, 921 }, + { 12, 0, 922 }, { 12, 0, 925 }, { 12, 0, 937 }, { 12, 0, 944 }, + { 12, 0, 945 }, { 12, 0, 953 }, { 15, 0, 184 }, { 15, 0, 191 }, + { 15, 0, 199 }, { 15, 0, 237 }, { 15, 0, 240 }, { 15, 0, 243 }, + { 15, 0, 246 }, { 18, 0, 203 }, { 21, 0, 40 }, { 21, 0, 52 }, + { 21, 0, 57 }, { 24, 0, 23 }, { 24, 0, 28 }, { 152, 0, 30 }, + { 134, 0, 725 }, { 145, 11, 58 }, { 133, 0, 888 }, { 137, 10, 874 }, + { 4, 0, 711 }, { 8, 10, 774 }, { 10, 10, 670 }, { 140, 10, 51 }, + { 144, 11, 40 }, { 6, 11, 185 }, { 7, 11, 1899 }, { 139, 11, 673 }, + { 137, 10, 701 }, { 137, 0, 440 }, { 4, 11, 327 }, { 5, 11, 478 }, + { 7, 11, 1332 }, { 8, 11, 753 }, { 140, 11, 227 }, { 4, 10, 127 }, + { 5, 10, 350 }, { 6, 10, 356 }, { 8, 10, 426 }, { 9, 10, 572 }, + { 10, 10, 247 }, { 139, 10, 312 }, { 5, 11, 1020 }, { 133, 11, 1022 }, + { 4, 11, 103 }, { 133, 11, 401 }, { 6, 0, 1913 }, { 6, 0, 1926 }, + { 6, 0, 1959 }, { 9, 0, 914 }, { 9, 0, 939 }, { 9, 0, 952 }, + { 9, 0, 979 }, { 9, 0, 990 }, { 9, 0, 998 }, { 9, 0, 1003 }, + { 9, 0, 1023 }, { 12, 0, 827 }, { 12, 0, 834 }, { 12, 0, 845 }, + { 12, 0, 912 }, { 12, 0, 935 }, { 12, 0, 951 }, { 15, 0, 172 }, + { 15, 0, 174 }, { 18, 0, 198 }, { 149, 0, 63 }, { 5, 0, 958 }, + { 5, 0, 987 }, { 4, 11, 499 }, { 135, 11, 1421 }, { 7, 0, 885 }, + { 6, 10, 59 }, { 6, 10, 1762 }, { 9, 10, 603 }, { 141, 10, 397 }, + { 10, 11, 62 }, { 141, 11, 164 }, { 4, 0, 847 }, { 135, 0, 326 }, + { 11, 0, 276 }, { 142, 0, 293 }, { 4, 0, 65 }, { 5, 0, 479 }, + { 5, 0, 1004 }, { 7, 0, 1913 }, { 8, 0, 317 }, { 9, 0, 302 }, + { 10, 0, 612 }, { 13, 0, 22 }, { 132, 11, 96 }, { 4, 0, 261 }, + { 135, 0, 510 }, { 135, 0, 1514 }, { 6, 10, 111 }, { 7, 10, 4 }, + { 8, 10, 163 }, { 8, 10, 776 }, { 138, 10, 566 }, { 4, 0, 291 }, + { 9, 0, 515 }, { 12, 0, 152 }, { 12, 0, 443 }, { 13, 0, 392 }, + { 142, 0, 357 }, { 7, 11, 399 }, { 135, 11, 1492 }, { 4, 0, 589 }, + { 139, 0, 282 }, { 6, 11, 563 }, { 135, 10, 1994 }, { 5, 10, 297 }, + { 135, 10, 1038 }, { 4, 0, 130 }, { 7, 0, 843 }, { 135, 0, 1562 }, + { 5, 0, 42 }, { 5, 0, 879 }, { 7, 0, 245 }, { 7, 0, 324 }, + { 7, 0, 1532 }, { 11, 0, 463 }, { 11, 0, 472 }, { 13, 0, 363 }, + { 144, 0, 52 }, { 4, 0, 134 }, { 133, 0, 372 }, { 133, 0, 680 }, + { 136, 10, 363 }, { 6, 0, 1997 }, { 8, 0, 935 }, { 136, 0, 977 }, + { 4, 0, 810 }, { 135, 0, 1634 }, { 135, 10, 1675 }, { 7, 0, 1390 }, + { 4, 11, 910 }, { 133, 11, 832 }, { 7, 10, 808 }, { 8, 11, 266 }, + { 139, 11, 578 }, { 132, 0, 644 }, { 4, 0, 982 }, { 138, 0, 867 }, + { 132, 10, 280 }, { 135, 0, 540 }, { 140, 10, 54 }, { 135, 0, 123 }, + { 134, 0, 1978 }, { 4, 10, 421 }, { 133, 10, 548 }, { 6, 0, 623 }, + { 136, 0, 789 }, { 4, 0, 908 }, { 5, 0, 359 }, { 5, 0, 508 }, + { 6, 0, 1723 }, { 7, 0, 343 }, { 7, 0, 1996 }, { 135, 0, 2026 }, + { 134, 0, 1220 }, { 4, 0, 341 }, { 135, 0, 480 }, { 6, 10, 254 }, + { 9, 10, 109 }, { 138, 10, 103 }, { 134, 0, 888 }, { 8, 11, 528 }, + { 137, 11, 348 }, { 7, 0, 1995 }, { 8, 0, 299 }, { 11, 0, 890 }, + { 12, 0, 674 }, { 4, 11, 20 }, { 133, 11, 616 }, { 135, 11, 1094 }, + { 134, 10, 1630 }, { 4, 0, 238 }, { 5, 0, 503 }, { 6, 0, 179 }, + { 7, 0, 2003 }, { 8, 0, 381 }, { 8, 0, 473 }, { 9, 0, 149 }, + { 10, 0, 788 }, { 15, 0, 45 }, { 15, 0, 86 }, { 20, 0, 110 }, + { 150, 0, 57 }, { 133, 10, 671 }, { 4, 11, 26 }, { 5, 11, 429 }, + { 6, 11, 245 }, { 7, 11, 704 }, { 7, 11, 1379 }, { 135, 11, 1474 }, + { 4, 0, 121 }, { 5, 0, 156 }, { 5, 0, 349 }, { 9, 0, 431 }, + { 10, 0, 605 }, { 142, 0, 342 }, { 7, 11, 943 }, { 139, 11, 614 }, + { 132, 10, 889 }, { 132, 11, 621 }, { 7, 10, 1382 }, { 7, 11, 1382 }, + { 135, 10, 1910 }, { 132, 10, 627 }, { 133, 10, 775 }, { 133, 11, 542 }, + { 133, 11, 868 }, { 136, 11, 433 }, { 6, 0, 1373 }, { 7, 0, 1011 }, + { 11, 10, 362 }, { 11, 10, 948 }, { 140, 10, 388 }, { 6, 0, 80 }, + { 7, 0, 173 }, { 9, 0, 547 }, { 10, 0, 730 }, { 14, 0, 18 }, + { 22, 0, 39 }, { 135, 11, 1495 }, { 6, 0, 1694 }, { 135, 0, 1974 }, + { 140, 0, 196 }, { 4, 0, 923 }, { 6, 0, 507 }, { 6, 0, 1711 }, + { 7, 10, 451 }, { 8, 10, 389 }, { 12, 10, 490 }, { 13, 10, 16 }, + { 13, 10, 215 }, { 13, 10, 351 }, { 18, 10, 132 }, { 147, 10, 125 }, + { 6, 0, 646 }, { 134, 0, 1047 }, { 135, 10, 841 }, { 136, 10, 566 }, + { 6, 0, 1611 }, { 135, 0, 1214 }, { 139, 0, 926 }, { 132, 11, 525 }, + { 132, 0, 595 }, { 5, 0, 240 }, { 6, 0, 459 }, { 7, 0, 12 }, + { 7, 0, 114 }, { 7, 0, 949 }, { 7, 0, 1753 }, { 7, 0, 1805 }, + { 8, 0, 658 }, { 9, 0, 1 }, { 11, 0, 959 }, { 141, 0, 446 }, + { 5, 10, 912 }, { 134, 10, 1695 }, { 132, 0, 446 }, { 7, 11, 62 }, + { 12, 11, 45 }, { 147, 11, 112 }, { 5, 10, 236 }, { 6, 10, 572 }, + { 8, 10, 492 }, { 11, 10, 618 }, { 144, 10, 56 }, { 5, 10, 190 }, + { 136, 10, 318 }, { 135, 10, 1376 }, { 4, 11, 223 }, { 6, 11, 359 }, + { 11, 11, 3 }, { 13, 11, 108 }, { 14, 11, 89 }, { 144, 11, 22 }, + { 132, 11, 647 }, { 134, 0, 490 }, { 134, 0, 491 }, { 134, 0, 1584 }, + { 135, 11, 685 }, { 138, 11, 220 }, { 7, 0, 250 }, { 136, 0, 507 }, + { 132, 0, 158 }, { 4, 0, 140 }, { 7, 0, 362 }, { 8, 0, 209 }, + { 9, 0, 10 }, { 9, 0, 160 }, { 9, 0, 503 }, { 9, 0, 614 }, + { 10, 0, 689 }, { 11, 0, 327 }, { 11, 0, 553 }, { 11, 0, 725 }, + { 11, 0, 767 }, { 12, 0, 252 }, { 12, 0, 583 }, { 13, 0, 192 }, + { 14, 0, 269 }, { 14, 0, 356 }, { 148, 0, 50 }, { 19, 0, 1 }, + { 19, 0, 26 }, { 150, 0, 9 }, { 132, 11, 109 }, { 6, 0, 228 }, + { 7, 0, 1341 }, { 9, 0, 408 }, { 138, 0, 343 }, { 4, 0, 373 }, + { 5, 0, 283 }, { 6, 0, 480 }, { 7, 0, 609 }, { 10, 0, 860 }, + { 138, 0, 878 }, { 6, 0, 779 }, { 134, 0, 1209 }, { 4, 0, 557 }, + { 7, 11, 263 }, { 7, 11, 628 }, { 136, 11, 349 }, { 132, 0, 548 }, + { 7, 0, 197 }, { 8, 0, 142 }, { 8, 0, 325 }, { 9, 0, 150 }, + { 9, 0, 596 }, { 10, 0, 350 }, { 10, 0, 353 }, { 11, 0, 74 }, + { 11, 0, 315 }, { 12, 0, 662 }, { 12, 0, 681 }, { 14, 0, 423 }, + { 143, 0, 141 }, { 4, 11, 40 }, { 10, 11, 67 }, { 11, 11, 117 }, + { 11, 11, 768 }, { 139, 11, 935 }, { 7, 11, 992 }, { 8, 11, 301 }, + { 9, 11, 722 }, { 12, 11, 63 }, { 13, 11, 29 }, { 14, 11, 161 }, + { 143, 11, 18 }, { 6, 0, 1490 }, { 138, 11, 532 }, { 5, 0, 580 }, + { 7, 0, 378 }, { 7, 0, 674 }, { 7, 0, 1424 }, { 15, 0, 83 }, + { 16, 0, 11 }, { 15, 11, 83 }, { 144, 11, 11 }, { 6, 0, 1057 }, + { 6, 0, 1335 }, { 10, 0, 316 }, { 7, 10, 85 }, { 7, 10, 247 }, + { 8, 10, 585 }, { 138, 10, 163 }, { 4, 0, 169 }, { 5, 0, 83 }, + { 6, 0, 399 }, { 6, 0, 579 }, { 6, 0, 1513 }, { 7, 0, 692 }, + { 7, 0, 846 }, { 7, 0, 1015 }, { 7, 0, 1799 }, { 8, 0, 403 }, + { 9, 0, 394 }, { 10, 0, 133 }, { 12, 0, 4 }, { 12, 0, 297 }, + { 12, 0, 452 }, { 16, 0, 81 }, { 18, 0, 25 }, { 21, 0, 14 }, + { 22, 0, 12 }, { 151, 0, 18 }, { 134, 0, 1106 }, { 7, 0, 1546 }, + { 11, 0, 299 }, { 142, 0, 407 }, { 134, 0, 1192 }, { 132, 0, 177 }, + { 5, 0, 411 }, { 135, 0, 653 }, { 7, 0, 439 }, { 10, 0, 727 }, + { 11, 0, 260 }, { 139, 0, 684 }, { 138, 10, 145 }, { 147, 10, 83 }, + { 5, 0, 208 }, { 7, 0, 753 }, { 135, 0, 1528 }, { 137, 11, 617 }, + { 135, 10, 1922 }, { 135, 11, 825 }, { 11, 0, 422 }, { 13, 0, 389 }, + { 4, 10, 124 }, { 10, 10, 457 }, { 11, 10, 121 }, { 11, 10, 169 }, + { 11, 10, 870 }, { 12, 10, 214 }, { 14, 10, 187 }, { 143, 10, 77 }, + { 11, 0, 615 }, { 15, 0, 58 }, { 11, 11, 615 }, { 143, 11, 58 }, + { 9, 0, 618 }, { 138, 0, 482 }, { 6, 0, 1952 }, { 6, 0, 1970 }, + { 142, 0, 505 }, { 7, 10, 1193 }, { 135, 11, 1838 }, { 133, 0, 242 }, + { 135, 10, 1333 }, { 6, 10, 107 }, { 7, 10, 638 }, { 7, 10, 1632 }, + { 137, 10, 396 }, { 133, 0, 953 }, { 5, 10, 370 }, { 134, 10, 1756 }, + { 5, 11, 28 }, { 6, 11, 204 }, { 10, 11, 320 }, { 10, 11, 583 }, + { 13, 11, 502 }, { 14, 11, 72 }, { 14, 11, 274 }, { 14, 11, 312 }, + { 14, 11, 344 }, { 15, 11, 159 }, { 16, 11, 62 }, { 16, 11, 69 }, + { 17, 11, 30 }, { 18, 11, 42 }, { 18, 11, 53 }, { 18, 11, 84 }, + { 18, 11, 140 }, { 19, 11, 68 }, { 19, 11, 85 }, { 20, 11, 5 }, + { 20, 11, 45 }, { 20, 11, 101 }, { 22, 11, 7 }, { 150, 11, 20 }, + { 4, 11, 558 }, { 6, 11, 390 }, { 7, 11, 162 }, { 7, 11, 689 }, + { 9, 11, 360 }, { 138, 11, 653 }, { 11, 0, 802 }, { 141, 0, 67 }, + { 133, 10, 204 }, { 133, 0, 290 }, { 5, 10, 970 }, { 134, 10, 1706 }, + { 132, 0, 380 }, { 5, 0, 52 }, { 7, 0, 277 }, { 9, 0, 368 }, + { 139, 0, 791 }, { 5, 11, 856 }, { 6, 11, 1672 }, { 6, 11, 1757 }, + { 6, 11, 1781 }, { 7, 11, 1150 }, { 7, 11, 1425 }, { 7, 11, 1453 }, + { 140, 11, 513 }, { 5, 11, 92 }, { 7, 10, 3 }, { 10, 11, 736 }, + { 140, 11, 102 }, { 4, 0, 112 }, { 5, 0, 653 }, { 5, 10, 483 }, + { 5, 10, 685 }, { 6, 10, 489 }, { 7, 10, 1204 }, { 136, 10, 394 }, + { 132, 10, 921 }, { 6, 0, 1028 }, { 133, 10, 1007 }, { 5, 11, 590 }, + { 9, 11, 213 }, { 145, 11, 91 }, { 135, 10, 1696 }, { 10, 0, 138 }, + { 139, 0, 476 }, { 5, 0, 725 }, { 5, 0, 727 }, { 135, 0, 1811 }, + { 4, 0, 979 }, { 6, 0, 1821 }, { 6, 0, 1838 }, { 8, 0, 876 }, + { 8, 0, 883 }, { 8, 0, 889 }, { 8, 0, 893 }, { 8, 0, 895 }, + { 10, 0, 934 }, { 12, 0, 720 }, { 14, 0, 459 }, { 148, 0, 123 }, + { 135, 11, 551 }, { 4, 0, 38 }, { 6, 0, 435 }, { 7, 0, 307 }, + { 7, 0, 999 }, { 7, 0, 1481 }, { 7, 0, 1732 }, { 7, 0, 1738 }, + { 8, 0, 371 }, { 9, 0, 414 }, { 11, 0, 316 }, { 12, 0, 52 }, + { 13, 0, 420 }, { 147, 0, 100 }, { 135, 0, 1296 }, { 132, 10, 712 }, + { 134, 10, 1629 }, { 133, 0, 723 }, { 134, 0, 651 }, { 136, 11, 191 }, + { 9, 11, 791 }, { 10, 11, 93 }, { 11, 11, 301 }, { 16, 11, 13 }, + { 17, 11, 23 }, { 18, 11, 135 }, { 19, 11, 12 }, { 20, 11, 1 }, + { 20, 11, 12 }, { 148, 11, 14 }, { 136, 11, 503 }, { 6, 11, 466 }, + { 135, 11, 671 }, { 6, 0, 1200 }, { 134, 0, 1330 }, { 135, 0, 1255 }, + { 134, 0, 986 }, { 5, 0, 109 }, { 6, 0, 1784 }, { 7, 0, 1895 }, + { 12, 0, 296 }, { 140, 0, 302 }, { 135, 11, 983 }, { 133, 10, 485 }, + { 134, 0, 660 }, { 134, 0, 800 }, { 5, 0, 216 }, { 5, 0, 294 }, + { 6, 0, 591 }, { 7, 0, 1879 }, { 9, 0, 141 }, { 9, 0, 270 }, + { 9, 0, 679 }, { 10, 0, 159 }, { 11, 0, 197 }, { 11, 0, 438 }, + { 12, 0, 538 }, { 12, 0, 559 }, { 14, 0, 144 }, { 14, 0, 167 }, + { 15, 0, 67 }, { 4, 10, 285 }, { 5, 10, 317 }, { 6, 10, 301 }, + { 7, 10, 7 }, { 8, 10, 153 }, { 10, 10, 766 }, { 11, 10, 468 }, + { 12, 10, 467 }, { 141, 10, 143 }, { 136, 0, 945 }, { 134, 0, 1090 }, + { 137, 0, 81 }, { 12, 11, 468 }, { 19, 11, 96 }, { 148, 11, 24 }, + { 134, 0, 391 }, { 138, 11, 241 }, { 7, 0, 322 }, { 136, 0, 249 }, + { 134, 0, 1412 }, { 135, 11, 795 }, { 5, 0, 632 }, { 138, 0, 526 }, + { 136, 10, 819 }, { 6, 0, 144 }, { 7, 0, 948 }, { 7, 0, 1042 }, + { 8, 0, 235 }, { 8, 0, 461 }, { 9, 0, 453 }, { 9, 0, 796 }, + { 10, 0, 354 }, { 17, 0, 77 }, { 135, 11, 954 }, { 139, 10, 917 }, + { 6, 0, 940 }, { 134, 0, 1228 }, { 4, 0, 362 }, { 7, 0, 52 }, + { 135, 0, 303 }, { 6, 11, 549 }, { 8, 11, 34 }, { 8, 11, 283 }, + { 9, 11, 165 }, { 138, 11, 475 }, { 7, 11, 370 }, { 7, 11, 1007 }, + { 7, 11, 1177 }, { 135, 11, 1565 }, { 5, 11, 652 }, { 5, 11, 701 }, + { 135, 11, 449 }, { 5, 0, 196 }, { 6, 0, 486 }, { 7, 0, 212 }, + { 8, 0, 309 }, { 136, 0, 346 }, { 6, 10, 1719 }, { 6, 10, 1735 }, + { 7, 10, 2016 }, { 7, 10, 2020 }, { 8, 10, 837 }, { 137, 10, 852 }, + { 6, 11, 159 }, { 6, 11, 364 }, { 7, 11, 516 }, { 7, 11, 1439 }, + { 137, 11, 518 }, { 135, 0, 1912 }, { 135, 0, 1290 }, { 132, 0, 686 }, + { 141, 11, 151 }, { 138, 0, 625 }, { 136, 0, 706 }, { 138, 10, 568 }, + { 139, 0, 412 }, { 4, 0, 30 }, { 133, 0, 43 }, { 8, 10, 67 }, + { 138, 10, 419 }, { 7, 0, 967 }, { 141, 0, 11 }, { 12, 0, 758 }, + { 14, 0, 441 }, { 142, 0, 462 }, { 10, 10, 657 }, { 14, 10, 297 }, + { 142, 10, 361 }, { 139, 10, 729 }, { 4, 0, 220 }, { 135, 0, 1535 }, + { 7, 11, 501 }, { 9, 11, 111 }, { 10, 11, 141 }, { 11, 11, 332 }, + { 13, 11, 43 }, { 13, 11, 429 }, { 14, 11, 130 }, { 14, 11, 415 }, + { 145, 11, 102 }, { 4, 0, 950 }, { 6, 0, 1859 }, { 7, 0, 11 }, + { 8, 0, 873 }, { 12, 0, 710 }, { 12, 0, 718 }, { 12, 0, 748 }, + { 12, 0, 765 }, { 148, 0, 124 }, { 5, 11, 149 }, { 5, 11, 935 }, + { 136, 11, 233 }, { 142, 11, 291 }, { 134, 0, 1579 }, { 7, 0, 890 }, + { 8, 10, 51 }, { 9, 10, 868 }, { 10, 10, 833 }, { 12, 10, 481 }, + { 12, 10, 570 }, { 148, 10, 106 }, { 141, 0, 2 }, { 132, 10, 445 }, + { 136, 11, 801 }, { 135, 0, 1774 }, { 7, 0, 1725 }, { 138, 0, 393 }, + { 5, 0, 263 }, { 134, 0, 414 }, { 132, 11, 322 }, { 133, 10, 239 }, + { 7, 0, 456 }, { 7, 10, 1990 }, { 8, 10, 130 }, { 139, 10, 720 }, + { 137, 0, 818 }, { 5, 10, 123 }, { 6, 10, 530 }, { 7, 10, 348 }, + { 135, 10, 1419 }, { 135, 10, 2024 }, { 6, 0, 178 }, { 6, 0, 1750 }, + { 8, 0, 251 }, { 9, 0, 690 }, { 10, 0, 155 }, { 10, 0, 196 }, + { 10, 0, 373 }, { 11, 0, 698 }, { 13, 0, 155 }, { 148, 0, 93 }, + { 5, 0, 97 }, { 137, 0, 393 }, { 134, 0, 674 }, { 11, 0, 223 }, + { 140, 0, 168 }, { 132, 10, 210 }, { 139, 11, 464 }, { 6, 0, 1639 }, + { 146, 0, 159 }, { 139, 11, 2 }, { 7, 0, 934 }, { 8, 0, 647 }, + { 17, 0, 97 }, { 19, 0, 59 }, { 150, 0, 2 }, { 132, 0, 191 }, + { 5, 0, 165 }, { 9, 0, 346 }, { 10, 0, 655 }, { 11, 0, 885 }, + { 4, 10, 430 }, { 135, 11, 357 }, { 133, 0, 877 }, { 5, 10, 213 }, + { 133, 11, 406 }, { 8, 0, 128 }, { 139, 0, 179 }, { 6, 11, 69 }, + { 135, 11, 117 }, { 135, 0, 1297 }, { 11, 11, 43 }, { 13, 11, 72 }, + { 141, 11, 142 }, { 135, 11, 1830 }, { 142, 0, 164 }, { 5, 0, 57 }, + { 6, 0, 101 }, { 6, 0, 586 }, { 6, 0, 1663 }, { 7, 0, 132 }, + { 7, 0, 1154 }, { 7, 0, 1415 }, { 7, 0, 1507 }, { 12, 0, 493 }, + { 15, 0, 105 }, { 151, 0, 15 }, { 5, 0, 459 }, { 7, 0, 1073 }, + { 8, 0, 241 }, { 136, 0, 334 }, { 133, 11, 826 }, { 133, 10, 108 }, + { 5, 10, 219 }, { 10, 11, 132 }, { 11, 11, 191 }, { 11, 11, 358 }, + { 139, 11, 460 }, { 6, 0, 324 }, { 6, 0, 520 }, { 7, 0, 338 }, + { 7, 0, 1729 }, { 8, 0, 228 }, { 139, 0, 750 }, { 21, 0, 30 }, + { 22, 0, 53 }, { 4, 10, 193 }, { 5, 10, 916 }, { 7, 10, 364 }, + { 10, 10, 398 }, { 10, 10, 726 }, { 11, 10, 317 }, { 11, 10, 626 }, + { 12, 10, 142 }, { 12, 10, 288 }, { 12, 10, 678 }, { 13, 10, 313 }, + { 15, 10, 113 }, { 146, 10, 114 }, { 6, 11, 110 }, { 135, 11, 1681 }, + { 135, 0, 910 }, { 6, 10, 241 }, { 7, 10, 907 }, { 8, 10, 832 }, + { 9, 10, 342 }, { 10, 10, 729 }, { 11, 10, 284 }, { 11, 10, 445 }, + { 11, 10, 651 }, { 11, 10, 863 }, { 13, 10, 398 }, { 146, 10, 99 }, + { 7, 0, 705 }, { 9, 0, 734 }, { 5, 11, 1000 }, { 7, 11, 733 }, + { 137, 11, 583 }, { 4, 0, 73 }, { 6, 0, 612 }, { 7, 0, 927 }, + { 7, 0, 1822 }, { 8, 0, 217 }, { 9, 0, 765 }, { 9, 0, 766 }, + { 10, 0, 408 }, { 11, 0, 51 }, { 11, 0, 793 }, { 12, 0, 266 }, + { 15, 0, 158 }, { 20, 0, 89 }, { 150, 0, 32 }, { 7, 0, 1330 }, + { 4, 11, 297 }, { 6, 11, 529 }, { 7, 11, 152 }, { 7, 11, 713 }, + { 7, 11, 1845 }, { 8, 11, 710 }, { 8, 11, 717 }, { 140, 11, 639 }, + { 5, 0, 389 }, { 136, 0, 636 }, { 134, 0, 1409 }, { 4, 10, 562 }, + { 9, 10, 254 }, { 139, 10, 879 }, { 134, 0, 893 }, { 132, 10, 786 }, + { 4, 11, 520 }, { 135, 11, 575 }, { 136, 0, 21 }, { 140, 0, 721 }, + { 136, 0, 959 }, { 7, 11, 1428 }, { 7, 11, 1640 }, { 9, 11, 169 }, + { 9, 11, 182 }, { 9, 11, 367 }, { 9, 11, 478 }, { 9, 11, 506 }, + { 9, 11, 551 }, { 9, 11, 648 }, { 9, 11, 651 }, { 9, 11, 697 }, + { 9, 11, 705 }, { 9, 11, 725 }, { 9, 11, 787 }, { 9, 11, 794 }, + { 10, 11, 198 }, { 10, 11, 214 }, { 10, 11, 267 }, { 10, 11, 275 }, + { 10, 11, 456 }, { 10, 11, 551 }, { 10, 11, 561 }, { 10, 11, 613 }, + { 10, 11, 627 }, { 10, 11, 668 }, { 10, 11, 675 }, { 10, 11, 691 }, + { 10, 11, 695 }, { 10, 11, 707 }, { 10, 11, 715 }, { 11, 11, 183 }, + { 11, 11, 201 }, { 11, 11, 244 }, { 11, 11, 262 }, { 11, 11, 352 }, + { 11, 11, 439 }, { 11, 11, 493 }, { 11, 11, 572 }, { 11, 11, 591 }, + { 11, 11, 608 }, { 11, 11, 611 }, { 11, 11, 646 }, { 11, 11, 674 }, + { 11, 11, 711 }, { 11, 11, 751 }, { 11, 11, 761 }, { 11, 11, 776 }, + { 11, 11, 785 }, { 11, 11, 850 }, { 11, 11, 853 }, { 11, 11, 862 }, + { 11, 11, 865 }, { 11, 11, 868 }, { 11, 11, 898 }, { 11, 11, 902 }, + { 11, 11, 903 }, { 11, 11, 910 }, { 11, 11, 932 }, { 11, 11, 942 }, + { 11, 11, 957 }, { 11, 11, 967 }, { 11, 11, 972 }, { 12, 11, 148 }, + { 12, 11, 195 }, { 12, 11, 220 }, { 12, 11, 237 }, { 12, 11, 318 }, + { 12, 11, 339 }, { 12, 11, 393 }, { 12, 11, 445 }, { 12, 11, 450 }, + { 12, 11, 474 }, { 12, 11, 509 }, { 12, 11, 533 }, { 12, 11, 591 }, + { 12, 11, 594 }, { 12, 11, 597 }, { 12, 11, 621 }, { 12, 11, 633 }, + { 12, 11, 642 }, { 13, 11, 59 }, { 13, 11, 60 }, { 13, 11, 145 }, + { 13, 11, 239 }, { 13, 11, 250 }, { 13, 11, 273 }, { 13, 11, 329 }, + { 13, 11, 344 }, { 13, 11, 365 }, { 13, 11, 372 }, { 13, 11, 387 }, + { 13, 11, 403 }, { 13, 11, 414 }, { 13, 11, 456 }, { 13, 11, 478 }, + { 13, 11, 483 }, { 13, 11, 489 }, { 14, 11, 55 }, { 14, 11, 57 }, + { 14, 11, 81 }, { 14, 11, 90 }, { 14, 11, 148 }, { 14, 11, 239 }, + { 14, 11, 266 }, { 14, 11, 321 }, { 14, 11, 326 }, { 14, 11, 327 }, + { 14, 11, 330 }, { 14, 11, 347 }, { 14, 11, 355 }, { 14, 11, 401 }, + { 14, 11, 411 }, { 14, 11, 414 }, { 14, 11, 416 }, { 14, 11, 420 }, + { 15, 11, 61 }, { 15, 11, 74 }, { 15, 11, 87 }, { 15, 11, 88 }, + { 15, 11, 94 }, { 15, 11, 96 }, { 15, 11, 116 }, { 15, 11, 149 }, + { 15, 11, 154 }, { 16, 11, 50 }, { 16, 11, 63 }, { 16, 11, 73 }, + { 17, 11, 2 }, { 17, 11, 66 }, { 17, 11, 92 }, { 17, 11, 103 }, + { 17, 11, 112 }, { 18, 11, 50 }, { 18, 11, 54 }, { 18, 11, 82 }, + { 18, 11, 86 }, { 18, 11, 90 }, { 18, 11, 111 }, { 18, 11, 115 }, + { 18, 11, 156 }, { 19, 11, 40 }, { 19, 11, 79 }, { 20, 11, 78 }, + { 149, 11, 22 }, { 137, 11, 170 }, { 134, 0, 1433 }, { 135, 11, 1307 }, + { 139, 11, 411 }, { 5, 0, 189 }, { 7, 0, 442 }, { 7, 0, 443 }, + { 8, 0, 281 }, { 12, 0, 174 }, { 141, 0, 261 }, { 6, 10, 216 }, + { 7, 10, 901 }, { 7, 10, 1343 }, { 136, 10, 493 }, { 5, 11, 397 }, + { 6, 11, 154 }, { 7, 10, 341 }, { 7, 11, 676 }, { 8, 11, 443 }, + { 8, 11, 609 }, { 9, 11, 24 }, { 9, 11, 325 }, { 10, 11, 35 }, + { 11, 10, 219 }, { 11, 11, 535 }, { 11, 11, 672 }, { 11, 11, 1018 }, + { 12, 11, 637 }, { 144, 11, 30 }, { 6, 0, 2 }, { 7, 0, 191 }, + { 7, 0, 446 }, { 7, 0, 1262 }, { 7, 0, 1737 }, { 8, 0, 22 }, + { 8, 0, 270 }, { 8, 0, 612 }, { 9, 0, 4 }, { 9, 0, 312 }, + { 9, 0, 436 }, { 9, 0, 626 }, { 10, 0, 216 }, { 10, 0, 311 }, + { 10, 0, 521 }, { 10, 0, 623 }, { 11, 0, 72 }, { 11, 0, 330 }, + { 11, 0, 455 }, { 12, 0, 321 }, { 12, 0, 504 }, { 12, 0, 530 }, + { 12, 0, 543 }, { 13, 0, 17 }, { 13, 0, 156 }, { 13, 0, 334 }, + { 14, 0, 131 }, { 17, 0, 60 }, { 148, 0, 64 }, { 7, 0, 354 }, + { 10, 0, 410 }, { 139, 0, 815 }, { 139, 10, 130 }, { 7, 10, 1734 }, + { 137, 11, 631 }, { 12, 0, 425 }, { 15, 0, 112 }, { 10, 10, 115 }, + { 11, 10, 420 }, { 13, 10, 404 }, { 14, 10, 346 }, { 143, 10, 54 }, + { 6, 0, 60 }, { 6, 0, 166 }, { 7, 0, 374 }, { 7, 0, 670 }, + { 7, 0, 1327 }, { 8, 0, 411 }, { 8, 0, 435 }, { 9, 0, 653 }, + { 9, 0, 740 }, { 10, 0, 385 }, { 11, 0, 222 }, { 11, 0, 324 }, + { 11, 0, 829 }, { 140, 0, 611 }, { 7, 0, 1611 }, { 13, 0, 14 }, + { 15, 0, 44 }, { 19, 0, 13 }, { 148, 0, 76 }, { 133, 11, 981 }, + { 4, 11, 56 }, { 7, 11, 1791 }, { 8, 11, 607 }, { 8, 11, 651 }, + { 11, 11, 465 }, { 11, 11, 835 }, { 12, 11, 337 }, { 141, 11, 480 }, + { 6, 0, 1478 }, { 5, 10, 1011 }, { 136, 10, 701 }, { 139, 0, 596 }, + { 5, 0, 206 }, { 134, 0, 398 }, { 4, 10, 54 }, { 5, 10, 666 }, + { 7, 10, 1039 }, { 7, 10, 1130 }, { 9, 10, 195 }, { 138, 10, 302 }, + { 7, 0, 50 }, { 9, 11, 158 }, { 138, 11, 411 }, { 135, 11, 1120 }, + { 6, 0, 517 }, { 7, 0, 1159 }, { 10, 0, 621 }, { 11, 0, 192 }, + { 134, 10, 1669 }, { 4, 0, 592 }, { 6, 0, 600 }, { 135, 0, 1653 }, + { 10, 0, 223 }, { 139, 0, 645 }, { 136, 11, 139 }, { 7, 0, 64 }, + { 136, 0, 245 }, { 142, 0, 278 }, { 6, 11, 622 }, { 135, 11, 1030 }, + { 136, 0, 604 }, { 134, 0, 1502 }, { 138, 0, 265 }, { 141, 11, 168 }, + { 7, 0, 1763 }, { 140, 0, 310 }, { 7, 10, 798 }, { 139, 11, 719 }, + { 7, 11, 160 }, { 10, 11, 624 }, { 142, 11, 279 }, { 132, 11, 363 }, + { 7, 10, 122 }, { 9, 10, 259 }, { 10, 10, 84 }, { 11, 10, 470 }, + { 12, 10, 541 }, { 141, 10, 379 }, { 5, 0, 129 }, { 6, 0, 61 }, + { 135, 0, 947 }, { 134, 0, 1356 }, { 135, 11, 1191 }, { 13, 0, 505 }, + { 141, 0, 506 }, { 11, 0, 1000 }, { 5, 10, 82 }, { 5, 10, 131 }, + { 7, 10, 1755 }, { 8, 10, 31 }, { 9, 10, 168 }, { 9, 10, 764 }, + { 139, 10, 869 }, { 134, 0, 966 }, { 134, 10, 605 }, { 134, 11, 292 }, + { 5, 11, 177 }, { 6, 11, 616 }, { 7, 11, 827 }, { 9, 11, 525 }, + { 138, 11, 656 }, { 135, 11, 1486 }, { 138, 11, 31 }, { 5, 10, 278 }, + { 137, 10, 68 }, { 4, 10, 163 }, { 5, 10, 201 }, { 5, 10, 307 }, + { 5, 10, 310 }, { 6, 10, 335 }, { 7, 10, 284 }, { 136, 10, 165 }, + { 6, 0, 839 }, { 135, 10, 1660 }, { 136, 10, 781 }, { 6, 10, 33 }, + { 135, 10, 1244 }, { 133, 0, 637 }, { 4, 11, 161 }, { 133, 11, 631 }, + { 137, 0, 590 }, { 7, 10, 1953 }, { 136, 10, 720 }, { 5, 0, 280 }, + { 7, 0, 1226 }, { 138, 10, 203 }, { 134, 0, 1386 }, { 5, 0, 281 }, + { 6, 0, 1026 }, { 6, 10, 326 }, { 7, 10, 677 }, { 137, 10, 425 }, + { 7, 11, 1557 }, { 135, 11, 1684 }, { 135, 0, 1064 }, { 9, 11, 469 }, + { 9, 11, 709 }, { 12, 11, 512 }, { 14, 11, 65 }, { 145, 11, 12 }, + { 134, 0, 917 }, { 10, 11, 229 }, { 11, 11, 73 }, { 11, 11, 376 }, + { 139, 11, 433 }, { 7, 0, 555 }, { 9, 0, 192 }, { 13, 0, 30 }, + { 13, 0, 49 }, { 15, 0, 150 }, { 16, 0, 76 }, { 20, 0, 52 }, + { 7, 10, 1316 }, { 7, 10, 1412 }, { 7, 10, 1839 }, { 9, 10, 589 }, + { 11, 10, 241 }, { 11, 10, 676 }, { 11, 10, 811 }, { 11, 10, 891 }, + { 12, 10, 140 }, { 12, 10, 346 }, { 12, 10, 479 }, { 13, 10, 381 }, + { 14, 10, 188 }, { 146, 10, 30 }, { 149, 0, 15 }, { 6, 0, 1882 }, + { 6, 0, 1883 }, { 6, 0, 1897 }, { 9, 0, 945 }, { 9, 0, 1014 }, + { 9, 0, 1020 }, { 12, 0, 823 }, { 12, 0, 842 }, { 12, 0, 866 }, + { 12, 0, 934 }, { 15, 0, 242 }, { 146, 0, 208 }, { 6, 0, 965 }, + { 134, 0, 1499 }, { 7, 0, 33 }, { 7, 0, 120 }, { 8, 0, 489 }, + { 9, 0, 319 }, { 10, 0, 820 }, { 11, 0, 1004 }, { 12, 0, 379 }, + { 12, 0, 679 }, { 13, 0, 117 }, { 13, 0, 412 }, { 14, 0, 25 }, + { 15, 0, 52 }, { 15, 0, 161 }, { 16, 0, 47 }, { 149, 0, 2 }, + { 6, 11, 558 }, { 7, 11, 651 }, { 8, 11, 421 }, { 9, 11, 0 }, + { 138, 11, 34 }, { 4, 0, 937 }, { 5, 0, 801 }, { 7, 0, 473 }, + { 5, 10, 358 }, { 7, 10, 1184 }, { 10, 10, 662 }, { 13, 10, 212 }, + { 13, 10, 304 }, { 13, 10, 333 }, { 145, 10, 98 }, { 132, 0, 877 }, + { 6, 0, 693 }, { 134, 0, 824 }, { 132, 0, 365 }, { 7, 11, 1832 }, + { 138, 11, 374 }, { 5, 0, 7 }, { 139, 0, 774 }, { 4, 0, 734 }, + { 5, 0, 662 }, { 134, 0, 430 }, { 4, 0, 746 }, { 135, 0, 1090 }, + { 5, 0, 360 }, { 8, 0, 237 }, { 10, 0, 231 }, { 147, 0, 124 }, + { 138, 11, 348 }, { 6, 11, 6 }, { 7, 11, 81 }, { 7, 11, 771 }, + { 7, 11, 1731 }, { 9, 11, 405 }, { 138, 11, 421 }, { 6, 0, 740 }, + { 137, 0, 822 }, { 133, 10, 946 }, { 7, 0, 1485 }, { 136, 0, 929 }, + { 7, 10, 411 }, { 8, 10, 631 }, { 9, 10, 323 }, { 10, 10, 355 }, + { 11, 10, 491 }, { 12, 10, 143 }, { 12, 10, 402 }, { 13, 10, 73 }, + { 14, 10, 408 }, { 15, 10, 107 }, { 146, 10, 71 }, { 135, 10, 590 }, + { 5, 11, 881 }, { 133, 11, 885 }, { 150, 11, 25 }, { 4, 0, 852 }, + { 5, 11, 142 }, { 134, 11, 546 }, { 7, 10, 1467 }, { 8, 10, 328 }, + { 10, 10, 544 }, { 11, 10, 955 }, { 13, 10, 320 }, { 145, 10, 83 }, + { 9, 0, 17 }, { 10, 0, 291 }, { 11, 10, 511 }, { 13, 10, 394 }, + { 14, 10, 298 }, { 14, 10, 318 }, { 146, 10, 103 }, { 5, 11, 466 }, + { 11, 11, 571 }, { 12, 11, 198 }, { 13, 11, 283 }, { 14, 11, 186 }, + { 15, 11, 21 }, { 143, 11, 103 }, { 134, 0, 1001 }, { 4, 11, 185 }, + { 5, 11, 257 }, { 5, 11, 839 }, { 5, 11, 936 }, { 7, 11, 171 }, + { 9, 11, 399 }, { 10, 11, 258 }, { 10, 11, 395 }, { 10, 11, 734 }, + { 11, 11, 1014 }, { 12, 11, 23 }, { 13, 11, 350 }, { 14, 11, 150 }, + { 147, 11, 6 }, { 143, 0, 35 }, { 132, 0, 831 }, { 5, 10, 835 }, + { 134, 10, 483 }, { 4, 0, 277 }, { 5, 0, 608 }, { 6, 0, 493 }, + { 7, 0, 457 }, { 12, 0, 384 }, { 7, 11, 404 }, { 7, 11, 1377 }, + { 7, 11, 1430 }, { 7, 11, 2017 }, { 8, 11, 149 }, { 8, 11, 239 }, + { 8, 11, 512 }, { 8, 11, 793 }, { 8, 11, 818 }, { 9, 11, 474 }, + { 9, 11, 595 }, { 10, 11, 122 }, { 10, 11, 565 }, { 10, 11, 649 }, + { 10, 11, 783 }, { 11, 11, 239 }, { 11, 11, 295 }, { 11, 11, 447 }, + { 11, 11, 528 }, { 11, 11, 639 }, { 11, 11, 800 }, { 11, 11, 936 }, + { 12, 11, 25 }, { 12, 11, 73 }, { 12, 11, 77 }, { 12, 11, 157 }, + { 12, 11, 316 }, { 12, 11, 390 }, { 12, 11, 391 }, { 12, 11, 394 }, + { 12, 11, 395 }, { 12, 11, 478 }, { 12, 11, 503 }, { 12, 11, 592 }, + { 12, 11, 680 }, { 13, 11, 50 }, { 13, 11, 53 }, { 13, 11, 132 }, + { 13, 11, 198 }, { 13, 11, 275 }, { 13, 11, 322 }, { 13, 11, 415 }, + { 14, 11, 71 }, { 14, 11, 257 }, { 14, 11, 395 }, { 15, 11, 71 }, + { 15, 11, 136 }, { 17, 11, 123 }, { 18, 11, 93 }, { 147, 11, 58 }, + { 134, 0, 1351 }, { 7, 0, 27 }, { 135, 0, 316 }, { 136, 11, 712 }, + { 136, 0, 984 }, { 133, 0, 552 }, { 137, 0, 264 }, { 132, 0, 401 }, + { 6, 0, 710 }, { 6, 0, 1111 }, { 134, 0, 1343 }, { 134, 0, 1211 }, + { 9, 0, 543 }, { 10, 0, 524 }, { 11, 0, 108 }, { 11, 0, 653 }, + { 12, 0, 524 }, { 13, 0, 123 }, { 14, 0, 252 }, { 16, 0, 18 }, + { 19, 0, 38 }, { 20, 0, 26 }, { 20, 0, 65 }, { 21, 0, 3 }, + { 151, 0, 11 }, { 4, 0, 205 }, { 5, 0, 623 }, { 7, 0, 104 }, + { 8, 0, 519 }, { 137, 0, 716 }, { 132, 10, 677 }, { 4, 11, 377 }, + { 152, 11, 13 }, { 135, 11, 1673 }, { 7, 0, 579 }, { 9, 0, 41 }, + { 9, 0, 244 }, { 9, 0, 669 }, { 10, 0, 5 }, { 11, 0, 861 }, + { 11, 0, 951 }, { 139, 0, 980 }, { 132, 0, 717 }, { 136, 0, 1011 }, + { 132, 0, 805 }, { 4, 11, 180 }, { 135, 11, 1906 }, { 132, 10, 777 }, + { 132, 10, 331 }, { 132, 0, 489 }, { 6, 0, 1024 }, { 4, 11, 491 }, + { 133, 10, 747 }, { 135, 11, 1182 }, { 4, 11, 171 }, { 138, 11, 234 }, + { 4, 11, 586 }, { 7, 11, 1186 }, { 138, 11, 631 }, { 135, 0, 892 }, + { 135, 11, 336 }, { 9, 11, 931 }, { 10, 11, 334 }, { 148, 11, 71 }, + { 137, 0, 473 }, { 6, 0, 864 }, { 12, 0, 659 }, { 139, 11, 926 }, + { 7, 0, 819 }, { 9, 0, 26 }, { 9, 0, 392 }, { 10, 0, 152 }, + { 10, 0, 226 }, { 11, 0, 19 }, { 12, 0, 276 }, { 12, 0, 426 }, + { 12, 0, 589 }, { 13, 0, 460 }, { 15, 0, 97 }, { 19, 0, 48 }, + { 148, 0, 104 }, { 135, 0, 51 }, { 133, 10, 326 }, { 4, 10, 691 }, + { 146, 10, 16 }, { 9, 0, 130 }, { 11, 0, 765 }, { 10, 10, 680 }, + { 10, 10, 793 }, { 141, 10, 357 }, { 133, 11, 765 }, { 8, 0, 229 }, + { 6, 10, 32 }, { 7, 10, 385 }, { 7, 10, 757 }, { 7, 10, 1916 }, + { 8, 10, 94 }, { 8, 10, 711 }, { 9, 10, 541 }, { 10, 10, 162 }, + { 10, 10, 795 }, { 11, 10, 989 }, { 11, 10, 1010 }, { 12, 10, 14 }, + { 142, 10, 308 }, { 7, 11, 474 }, { 137, 11, 578 }, { 132, 0, 674 }, + { 132, 0, 770 }, { 5, 0, 79 }, { 7, 0, 1027 }, { 7, 0, 1477 }, + { 139, 0, 52 }, { 133, 11, 424 }, { 134, 0, 1666 }, { 6, 0, 409 }, + { 6, 10, 349 }, { 6, 10, 1682 }, { 7, 10, 1252 }, { 8, 10, 112 }, + { 8, 11, 714 }, { 9, 10, 435 }, { 9, 10, 668 }, { 10, 10, 290 }, + { 10, 10, 319 }, { 10, 10, 815 }, { 11, 10, 180 }, { 11, 10, 837 }, + { 12, 10, 240 }, { 13, 10, 152 }, { 13, 10, 219 }, { 142, 10, 158 }, + { 5, 0, 789 }, { 134, 0, 195 }, { 4, 0, 251 }, { 4, 0, 688 }, + { 7, 0, 513 }, { 135, 0, 1284 }, { 132, 10, 581 }, { 9, 11, 420 }, + { 10, 11, 269 }, { 10, 11, 285 }, { 10, 11, 576 }, { 11, 11, 397 }, + { 13, 11, 175 }, { 145, 11, 90 }, { 6, 10, 126 }, { 7, 10, 573 }, + { 8, 10, 397 }, { 142, 10, 44 }, { 132, 11, 429 }, { 133, 0, 889 }, + { 4, 0, 160 }, { 5, 0, 330 }, { 7, 0, 1434 }, { 136, 0, 174 }, + { 7, 11, 18 }, { 7, 11, 699 }, { 7, 11, 1966 }, { 8, 11, 752 }, + { 9, 11, 273 }, { 9, 11, 412 }, { 9, 11, 703 }, { 10, 11, 71 }, + { 10, 11, 427 }, { 10, 11, 508 }, { 146, 11, 97 }, { 6, 0, 872 }, + { 134, 0, 899 }, { 133, 10, 926 }, { 134, 0, 1126 }, { 134, 0, 918 }, + { 4, 11, 53 }, { 5, 11, 186 }, { 135, 11, 752 }, { 7, 0, 268 }, + { 136, 0, 569 }, { 134, 0, 1224 }, { 6, 0, 1361 }, { 7, 10, 1232 }, + { 137, 10, 531 }, { 8, 11, 575 }, { 10, 11, 289 }, { 139, 11, 319 }, + { 133, 10, 670 }, { 132, 11, 675 }, { 133, 0, 374 }, { 135, 10, 1957 }, + { 133, 0, 731 }, { 11, 0, 190 }, { 15, 0, 49 }, { 11, 11, 190 }, + { 143, 11, 49 }, { 4, 0, 626 }, { 5, 0, 506 }, { 5, 0, 642 }, + { 6, 0, 425 }, { 10, 0, 202 }, { 139, 0, 141 }, { 137, 0, 444 }, + { 7, 10, 242 }, { 135, 10, 1942 }, { 6, 11, 209 }, { 8, 11, 468 }, + { 9, 11, 210 }, { 11, 11, 36 }, { 12, 11, 28 }, { 12, 11, 630 }, + { 13, 11, 21 }, { 13, 11, 349 }, { 14, 11, 7 }, { 145, 11, 13 }, + { 4, 11, 342 }, { 135, 11, 1179 }, { 5, 10, 834 }, { 7, 10, 1202 }, + { 8, 10, 14 }, { 9, 10, 481 }, { 137, 10, 880 }, { 4, 11, 928 }, + { 133, 11, 910 }, { 4, 11, 318 }, { 4, 11, 496 }, { 7, 11, 856 }, + { 139, 11, 654 }, { 136, 0, 835 }, { 7, 0, 1526 }, { 138, 10, 465 }, + { 151, 0, 17 }, { 135, 0, 477 }, { 4, 10, 357 }, { 6, 10, 172 }, + { 7, 10, 143 }, { 137, 10, 413 }, { 6, 0, 1374 }, { 138, 0, 994 }, + { 18, 0, 76 }, { 132, 10, 590 }, { 7, 0, 287 }, { 8, 0, 355 }, + { 9, 0, 293 }, { 137, 0, 743 }, { 134, 0, 1389 }, { 7, 11, 915 }, + { 8, 11, 247 }, { 147, 11, 0 }, { 4, 11, 202 }, { 5, 11, 382 }, + { 6, 11, 454 }, { 7, 11, 936 }, { 7, 11, 1803 }, { 8, 11, 758 }, + { 9, 11, 375 }, { 9, 11, 895 }, { 10, 11, 743 }, { 10, 11, 792 }, + { 11, 11, 978 }, { 11, 11, 1012 }, { 142, 11, 109 }, { 5, 0, 384 }, + { 8, 0, 455 }, { 140, 0, 48 }, { 132, 11, 390 }, { 5, 10, 169 }, + { 7, 10, 333 }, { 136, 10, 45 }, { 5, 0, 264 }, { 134, 0, 184 }, + { 138, 11, 791 }, { 133, 11, 717 }, { 132, 10, 198 }, { 6, 11, 445 }, + { 7, 11, 332 }, { 137, 11, 909 }, { 136, 0, 1001 }, { 4, 10, 24 }, + { 5, 10, 140 }, { 5, 10, 185 }, { 7, 10, 1500 }, { 11, 10, 565 }, + { 139, 10, 838 }, { 134, 11, 578 }, { 5, 0, 633 }, { 6, 0, 28 }, + { 135, 0, 1323 }, { 132, 0, 851 }, { 136, 11, 267 }, { 7, 0, 359 }, + { 8, 0, 243 }, { 140, 0, 175 }, { 4, 10, 334 }, { 133, 10, 593 }, + { 141, 11, 87 }, { 136, 11, 766 }, { 10, 0, 287 }, { 12, 0, 138 }, + { 10, 11, 287 }, { 140, 11, 138 }, { 4, 0, 105 }, { 132, 0, 740 }, + { 140, 10, 116 }, { 134, 0, 857 }, { 135, 11, 1841 }, { 6, 0, 1402 }, + { 137, 0, 819 }, { 132, 11, 584 }, { 132, 10, 709 }, { 133, 10, 897 }, + { 5, 0, 224 }, { 13, 0, 174 }, { 146, 0, 52 }, { 135, 10, 1840 }, + { 4, 10, 608 }, { 133, 10, 497 }, { 139, 11, 60 }, { 4, 0, 758 }, + { 135, 0, 1649 }, { 4, 11, 226 }, { 4, 11, 326 }, { 135, 11, 1770 }, + { 5, 11, 426 }, { 8, 11, 30 }, { 9, 11, 2 }, { 11, 11, 549 }, + { 147, 11, 122 }, { 135, 10, 2039 }, { 6, 10, 540 }, { 136, 10, 136 }, + { 4, 0, 573 }, { 8, 0, 655 }, { 4, 10, 897 }, { 133, 10, 786 }, + { 7, 0, 351 }, { 139, 0, 128 }, { 133, 10, 999 }, { 4, 10, 299 }, + { 135, 10, 1004 }, { 133, 0, 918 }, { 132, 11, 345 }, { 4, 11, 385 }, + { 7, 11, 265 }, { 135, 11, 587 }, { 133, 10, 456 }, { 136, 10, 180 }, + { 6, 0, 687 }, { 134, 0, 1537 }, { 4, 11, 347 }, { 5, 11, 423 }, + { 5, 11, 996 }, { 135, 11, 1329 }, { 132, 10, 755 }, { 7, 11, 1259 }, + { 9, 11, 125 }, { 11, 11, 65 }, { 140, 11, 285 }, { 5, 11, 136 }, + { 6, 11, 136 }, { 136, 11, 644 }, { 134, 0, 1525 }, { 4, 0, 1009 }, + { 135, 0, 1139 }, { 139, 10, 338 }, { 132, 0, 340 }, { 135, 10, 1464 }, + { 8, 0, 847 }, { 10, 0, 861 }, { 10, 0, 876 }, { 10, 0, 889 }, + { 10, 0, 922 }, { 10, 0, 929 }, { 10, 0, 933 }, { 12, 0, 784 }, + { 140, 0, 791 }, { 139, 0, 176 }, { 9, 11, 134 }, { 10, 11, 2 }, + { 10, 11, 27 }, { 10, 11, 333 }, { 11, 11, 722 }, { 143, 11, 1 }, + { 4, 11, 433 }, { 133, 11, 719 }, { 5, 0, 985 }, { 7, 0, 509 }, + { 7, 0, 529 }, { 145, 0, 96 }, { 132, 0, 615 }, { 4, 10, 890 }, + { 5, 10, 805 }, { 5, 10, 819 }, { 5, 10, 961 }, { 6, 10, 396 }, + { 6, 10, 1631 }, { 6, 10, 1678 }, { 7, 10, 1967 }, { 7, 10, 2041 }, + { 9, 10, 630 }, { 11, 10, 8 }, { 11, 10, 1019 }, { 12, 10, 176 }, + { 13, 10, 225 }, { 14, 10, 292 }, { 149, 10, 24 }, { 135, 0, 1919 }, + { 134, 0, 1131 }, { 144, 11, 21 }, { 144, 11, 51 }, { 135, 10, 1815 }, + { 4, 0, 247 }, { 7, 10, 1505 }, { 10, 10, 190 }, { 10, 10, 634 }, + { 11, 10, 792 }, { 12, 10, 358 }, { 140, 10, 447 }, { 5, 10, 0 }, + { 6, 10, 536 }, { 7, 10, 604 }, { 13, 10, 445 }, { 145, 10, 126 }, + { 4, 0, 184 }, { 5, 0, 390 }, { 6, 0, 337 }, { 7, 0, 23 }, + { 7, 0, 494 }, { 7, 0, 618 }, { 7, 0, 1456 }, { 8, 0, 27 }, + { 8, 0, 599 }, { 10, 0, 153 }, { 139, 0, 710 }, { 6, 10, 232 }, + { 6, 10, 412 }, { 7, 10, 1074 }, { 8, 10, 9 }, { 8, 10, 157 }, + { 8, 10, 786 }, { 9, 10, 196 }, { 9, 10, 352 }, { 9, 10, 457 }, + { 10, 10, 337 }, { 11, 10, 232 }, { 11, 10, 877 }, { 12, 10, 480 }, + { 140, 10, 546 }, { 13, 0, 38 }, { 135, 10, 958 }, { 4, 10, 382 }, + { 136, 10, 579 }, { 4, 10, 212 }, { 135, 10, 1206 }, { 4, 11, 555 }, + { 8, 11, 536 }, { 138, 11, 288 }, { 11, 11, 139 }, { 139, 11, 171 }, + { 9, 11, 370 }, { 138, 11, 90 }, { 132, 0, 1015 }, { 134, 0, 1088 }, + { 5, 10, 655 }, { 135, 11, 977 }, { 134, 0, 1585 }, { 17, 10, 67 }, + { 147, 10, 74 }, { 10, 0, 227 }, { 11, 0, 497 }, { 11, 0, 709 }, + { 140, 0, 415 }, { 6, 0, 360 }, { 7, 0, 1664 }, { 136, 0, 478 }, + { 7, 0, 95 }, { 6, 10, 231 }, { 136, 10, 423 }, { 140, 11, 65 }, + { 4, 11, 257 }, { 135, 11, 2031 }, { 135, 11, 1768 }, { 133, 10, 300 }, + { 139, 11, 211 }, { 136, 0, 699 }, { 6, 10, 237 }, { 7, 10, 611 }, + { 8, 10, 100 }, { 9, 10, 416 }, { 11, 10, 335 }, { 12, 10, 173 }, + { 146, 10, 101 }, { 14, 0, 26 }, { 146, 0, 150 }, { 6, 0, 581 }, + { 135, 0, 1119 }, { 135, 10, 1208 }, { 132, 0, 739 }, { 6, 11, 83 }, + { 6, 11, 1733 }, { 135, 11, 1389 }, { 137, 0, 869 }, { 4, 0, 67 }, + { 5, 0, 422 }, { 7, 0, 1037 }, { 7, 0, 1289 }, { 7, 0, 1555 }, + { 9, 0, 741 }, { 145, 0, 108 }, { 133, 10, 199 }, { 12, 10, 427 }, + { 146, 10, 38 }, { 136, 0, 464 }, { 142, 0, 42 }, { 10, 0, 96 }, + { 8, 11, 501 }, { 137, 11, 696 }, { 134, 11, 592 }, { 4, 0, 512 }, + { 4, 0, 966 }, { 5, 0, 342 }, { 6, 0, 1855 }, { 8, 0, 869 }, + { 8, 0, 875 }, { 8, 0, 901 }, { 144, 0, 26 }, { 8, 0, 203 }, + { 11, 0, 823 }, { 11, 0, 846 }, { 12, 0, 482 }, { 13, 0, 277 }, + { 13, 0, 302 }, { 13, 0, 464 }, { 14, 0, 205 }, { 142, 0, 221 }, + { 4, 0, 449 }, { 133, 0, 718 }, { 7, 11, 1718 }, { 9, 11, 95 }, + { 9, 11, 274 }, { 10, 11, 279 }, { 10, 11, 317 }, { 10, 11, 420 }, + { 11, 11, 303 }, { 11, 11, 808 }, { 12, 11, 134 }, { 12, 11, 367 }, + { 13, 11, 149 }, { 13, 11, 347 }, { 14, 11, 349 }, { 14, 11, 406 }, + { 18, 11, 22 }, { 18, 11, 89 }, { 18, 11, 122 }, { 147, 11, 47 }, + { 133, 11, 26 }, { 4, 0, 355 }, { 6, 0, 311 }, { 9, 0, 256 }, + { 138, 0, 404 }, { 132, 11, 550 }, { 10, 0, 758 }, { 6, 10, 312 }, + { 6, 10, 1715 }, { 10, 10, 584 }, { 11, 10, 546 }, { 11, 10, 692 }, + { 12, 10, 259 }, { 12, 10, 295 }, { 13, 10, 46 }, { 141, 10, 154 }, + { 136, 11, 822 }, { 5, 0, 827 }, { 4, 11, 902 }, { 5, 11, 809 }, + { 6, 11, 122 }, { 135, 11, 896 }, { 5, 0, 64 }, { 140, 0, 581 }, + { 4, 0, 442 }, { 6, 0, 739 }, { 7, 0, 1047 }, { 7, 0, 1352 }, + { 7, 0, 1643 }, { 7, 11, 1911 }, { 9, 11, 449 }, { 10, 11, 192 }, + { 138, 11, 740 }, { 135, 11, 262 }, { 132, 10, 588 }, { 133, 11, 620 }, + { 5, 0, 977 }, { 6, 0, 288 }, { 7, 0, 528 }, { 4, 11, 34 }, + { 5, 11, 574 }, { 7, 11, 279 }, { 7, 11, 1624 }, { 136, 11, 601 }, + { 6, 0, 1375 }, { 4, 10, 231 }, { 5, 10, 61 }, { 6, 10, 104 }, + { 7, 10, 729 }, { 7, 10, 964 }, { 7, 10, 1658 }, { 140, 10, 414 }, + { 6, 10, 263 }, { 138, 10, 757 }, { 132, 10, 320 }, { 4, 0, 254 }, + { 7, 0, 1309 }, { 5, 11, 332 }, { 135, 11, 1309 }, { 6, 11, 261 }, + { 8, 11, 182 }, { 139, 11, 943 }, { 132, 10, 225 }, { 6, 0, 12 }, + { 135, 0, 1219 }, { 4, 0, 275 }, { 12, 0, 376 }, { 6, 11, 1721 }, + { 141, 11, 490 }, { 4, 11, 933 }, { 133, 11, 880 }, { 6, 0, 951 }, + { 6, 0, 1109 }, { 6, 0, 1181 }, { 7, 0, 154 }, { 4, 10, 405 }, + { 7, 10, 817 }, { 14, 10, 58 }, { 17, 10, 37 }, { 146, 10, 124 }, + { 6, 0, 1520 }, { 133, 10, 974 }, { 134, 0, 1753 }, { 6, 0, 369 }, + { 6, 0, 502 }, { 7, 0, 1036 }, { 8, 0, 348 }, { 9, 0, 452 }, + { 10, 0, 26 }, { 11, 0, 224 }, { 11, 0, 387 }, { 11, 0, 772 }, + { 12, 0, 95 }, { 12, 0, 629 }, { 13, 0, 195 }, { 13, 0, 207 }, + { 13, 0, 241 }, { 14, 0, 260 }, { 14, 0, 270 }, { 143, 0, 140 }, + { 132, 0, 269 }, { 5, 0, 480 }, { 7, 0, 532 }, { 7, 0, 1197 }, + { 7, 0, 1358 }, { 8, 0, 291 }, { 11, 0, 349 }, { 142, 0, 396 }, + { 5, 10, 235 }, { 7, 10, 1239 }, { 11, 10, 131 }, { 140, 10, 370 }, + { 7, 10, 956 }, { 7, 10, 1157 }, { 7, 10, 1506 }, { 7, 10, 1606 }, + { 7, 10, 1615 }, { 7, 10, 1619 }, { 7, 10, 1736 }, { 7, 10, 1775 }, + { 8, 10, 590 }, { 9, 10, 324 }, { 9, 10, 736 }, { 9, 10, 774 }, + { 9, 10, 776 }, { 9, 10, 784 }, { 10, 10, 567 }, { 10, 10, 708 }, + { 11, 10, 518 }, { 11, 10, 613 }, { 11, 10, 695 }, { 11, 10, 716 }, + { 11, 10, 739 }, { 11, 10, 770 }, { 11, 10, 771 }, { 11, 10, 848 }, + { 11, 10, 857 }, { 11, 10, 931 }, { 11, 10, 947 }, { 12, 10, 326 }, + { 12, 10, 387 }, { 12, 10, 484 }, { 12, 10, 528 }, { 12, 10, 552 }, + { 12, 10, 613 }, { 13, 10, 189 }, { 13, 10, 256 }, { 13, 10, 340 }, + { 13, 10, 432 }, { 13, 10, 436 }, { 13, 10, 440 }, { 13, 10, 454 }, + { 14, 10, 174 }, { 14, 10, 220 }, { 14, 10, 284 }, { 14, 10, 390 }, + { 145, 10, 121 }, { 8, 11, 598 }, { 9, 11, 664 }, { 138, 11, 441 }, + { 9, 10, 137 }, { 138, 10, 221 }, { 133, 11, 812 }, { 148, 0, 15 }, + { 134, 0, 1341 }, { 6, 0, 1017 }, { 4, 11, 137 }, { 7, 11, 1178 }, + { 135, 11, 1520 }, { 7, 10, 390 }, { 138, 10, 140 }, { 7, 11, 1260 }, + { 135, 11, 1790 }, { 137, 11, 191 }, { 135, 10, 1144 }, { 6, 0, 1810 }, + { 7, 0, 657 }, { 8, 0, 886 }, { 10, 0, 857 }, { 14, 0, 440 }, + { 144, 0, 96 }, { 8, 0, 533 }, { 6, 11, 1661 }, { 7, 11, 1975 }, + { 7, 11, 2009 }, { 135, 11, 2011 }, { 6, 0, 1453 }, { 134, 10, 464 }, + { 132, 11, 715 }, { 5, 10, 407 }, { 11, 10, 204 }, { 11, 10, 243 }, + { 11, 10, 489 }, { 12, 10, 293 }, { 19, 10, 37 }, { 20, 10, 73 }, + { 150, 10, 38 }, { 133, 11, 703 }, { 4, 0, 211 }, { 7, 0, 1483 }, + { 5, 10, 325 }, { 8, 10, 5 }, { 8, 10, 227 }, { 9, 10, 105 }, + { 10, 10, 585 }, { 140, 10, 614 }, { 4, 0, 332 }, { 5, 0, 335 }, + { 6, 0, 238 }, { 7, 0, 269 }, { 7, 0, 811 }, { 7, 0, 1797 }, + { 8, 0, 836 }, { 9, 0, 507 }, { 141, 0, 242 }, { 5, 11, 89 }, + { 7, 11, 1915 }, { 9, 11, 185 }, { 9, 11, 235 }, { 9, 11, 496 }, + { 10, 11, 64 }, { 10, 11, 270 }, { 10, 11, 403 }, { 10, 11, 469 }, + { 10, 11, 529 }, { 10, 11, 590 }, { 11, 11, 140 }, { 11, 11, 860 }, + { 13, 11, 1 }, { 13, 11, 422 }, { 14, 11, 341 }, { 14, 11, 364 }, + { 17, 11, 93 }, { 18, 11, 113 }, { 19, 11, 97 }, { 147, 11, 113 }, + { 133, 11, 695 }, { 16, 0, 19 }, { 5, 11, 6 }, { 6, 11, 183 }, + { 6, 10, 621 }, { 7, 11, 680 }, { 7, 11, 978 }, { 7, 11, 1013 }, + { 7, 11, 1055 }, { 12, 11, 230 }, { 13, 11, 172 }, { 13, 10, 504 }, + { 146, 11, 29 }, { 136, 0, 156 }, { 133, 0, 1009 }, { 6, 11, 29 }, + { 139, 11, 63 }, { 134, 0, 820 }, { 134, 10, 218 }, { 7, 10, 454 }, + { 7, 10, 782 }, { 8, 10, 768 }, { 140, 10, 686 }, { 5, 0, 228 }, + { 6, 0, 203 }, { 7, 0, 156 }, { 8, 0, 347 }, { 9, 0, 265 }, + { 18, 0, 39 }, { 20, 0, 54 }, { 21, 0, 31 }, { 22, 0, 3 }, + { 23, 0, 0 }, { 15, 11, 8 }, { 18, 11, 39 }, { 20, 11, 54 }, + { 21, 11, 31 }, { 22, 11, 3 }, { 151, 11, 0 }, { 7, 0, 1131 }, + { 135, 0, 1468 }, { 144, 10, 0 }, { 134, 0, 1276 }, { 10, 10, 676 }, + { 140, 10, 462 }, { 132, 11, 311 }, { 134, 11, 1740 }, { 7, 11, 170 }, + { 8, 11, 90 }, { 8, 11, 177 }, { 8, 11, 415 }, { 11, 11, 714 }, + { 142, 11, 281 }, { 134, 10, 164 }, { 6, 0, 1792 }, { 138, 0, 849 }, + { 150, 10, 50 }, { 5, 0, 291 }, { 5, 0, 318 }, { 7, 0, 765 }, + { 9, 0, 389 }, { 12, 0, 548 }, { 8, 11, 522 }, { 142, 11, 328 }, + { 11, 11, 91 }, { 13, 11, 129 }, { 15, 11, 101 }, { 145, 11, 125 }, + { 4, 11, 494 }, { 6, 11, 74 }, { 7, 11, 44 }, { 7, 11, 407 }, + { 8, 11, 551 }, { 12, 11, 17 }, { 15, 11, 5 }, { 148, 11, 11 }, + { 4, 11, 276 }, { 133, 11, 296 }, { 6, 10, 343 }, { 7, 10, 195 }, + { 7, 11, 1777 }, { 9, 10, 226 }, { 10, 10, 197 }, { 10, 10, 575 }, + { 11, 10, 502 }, { 139, 10, 899 }, { 10, 0, 525 }, { 139, 0, 82 }, + { 14, 0, 453 }, { 4, 11, 7 }, { 5, 11, 90 }, { 5, 11, 158 }, + { 6, 11, 542 }, { 7, 11, 221 }, { 7, 11, 1574 }, { 9, 11, 490 }, + { 10, 11, 540 }, { 11, 11, 443 }, { 139, 11, 757 }, { 135, 0, 666 }, + { 22, 10, 29 }, { 150, 11, 29 }, { 4, 0, 422 }, { 147, 10, 8 }, + { 5, 0, 355 }, { 145, 0, 0 }, { 6, 0, 1873 }, { 9, 0, 918 }, + { 7, 11, 588 }, { 9, 11, 175 }, { 138, 11, 530 }, { 143, 11, 31 }, + { 11, 0, 165 }, { 7, 10, 1125 }, { 9, 10, 143 }, { 14, 10, 405 }, + { 150, 10, 21 }, { 9, 0, 260 }, { 137, 0, 905 }, { 5, 11, 872 }, + { 6, 11, 57 }, { 6, 11, 479 }, { 6, 11, 562 }, { 7, 11, 471 }, + { 7, 11, 1060 }, { 9, 11, 447 }, { 9, 11, 454 }, { 141, 11, 6 }, + { 138, 11, 704 }, { 133, 0, 865 }, { 5, 0, 914 }, { 134, 0, 1625 }, + { 133, 0, 234 }, { 7, 0, 1383 }, { 5, 11, 31 }, { 6, 11, 614 }, + { 145, 11, 61 }, { 7, 11, 1200 }, { 138, 11, 460 }, { 6, 11, 424 }, + { 135, 11, 1866 }, { 136, 0, 306 }, { 5, 10, 959 }, { 12, 11, 30 }, + { 13, 11, 148 }, { 14, 11, 87 }, { 14, 11, 182 }, { 16, 11, 42 }, + { 18, 11, 92 }, { 148, 11, 70 }, { 6, 0, 1919 }, { 6, 0, 1921 }, + { 9, 0, 923 }, { 9, 0, 930 }, { 9, 0, 941 }, { 9, 0, 949 }, + { 9, 0, 987 }, { 9, 0, 988 }, { 9, 0, 992 }, { 12, 0, 802 }, + { 12, 0, 815 }, { 12, 0, 856 }, { 12, 0, 885 }, { 12, 0, 893 }, + { 12, 0, 898 }, { 12, 0, 919 }, { 12, 0, 920 }, { 12, 0, 941 }, + { 12, 0, 947 }, { 15, 0, 183 }, { 15, 0, 185 }, { 15, 0, 189 }, + { 15, 0, 197 }, { 15, 0, 202 }, { 15, 0, 233 }, { 18, 0, 218 }, + { 18, 0, 219 }, { 18, 0, 233 }, { 143, 11, 156 }, { 135, 10, 1759 }, + { 136, 10, 173 }, { 13, 0, 163 }, { 13, 0, 180 }, { 18, 0, 78 }, + { 20, 0, 35 }, { 5, 11, 13 }, { 134, 11, 142 }, { 134, 10, 266 }, + { 6, 11, 97 }, { 7, 11, 116 }, { 8, 11, 322 }, { 8, 11, 755 }, + { 9, 11, 548 }, { 10, 11, 714 }, { 11, 11, 884 }, { 141, 11, 324 }, + { 135, 0, 1312 }, { 9, 0, 814 }, { 137, 11, 676 }, { 133, 0, 707 }, + { 135, 0, 1493 }, { 6, 0, 421 }, { 7, 0, 61 }, { 7, 0, 1540 }, + { 10, 0, 11 }, { 138, 0, 501 }, { 12, 0, 733 }, { 12, 0, 766 }, + { 7, 11, 866 }, { 135, 11, 1163 }, { 137, 0, 341 }, { 142, 0, 98 }, + { 145, 11, 115 }, { 135, 11, 1111 }, { 136, 10, 300 }, { 136, 0, 1014 }, + { 8, 11, 1 }, { 9, 11, 112 }, { 138, 11, 326 }, { 132, 11, 730 }, + { 5, 11, 488 }, { 6, 11, 527 }, { 7, 11, 489 }, { 7, 11, 1636 }, + { 8, 11, 121 }, { 8, 11, 144 }, { 8, 11, 359 }, { 9, 11, 193 }, + { 9, 11, 241 }, { 9, 11, 336 }, { 9, 11, 882 }, { 11, 11, 266 }, + { 11, 11, 372 }, { 11, 11, 944 }, { 12, 11, 401 }, { 140, 11, 641 }, + { 6, 0, 971 }, { 134, 0, 1121 }, { 6, 0, 102 }, { 7, 0, 72 }, + { 15, 0, 142 }, { 147, 0, 67 }, { 151, 0, 30 }, { 135, 0, 823 }, + { 134, 0, 1045 }, { 5, 10, 427 }, { 5, 10, 734 }, { 7, 10, 478 }, + { 136, 10, 52 }, { 7, 0, 1930 }, { 11, 10, 217 }, { 142, 10, 165 }, + { 6, 0, 1512 }, { 135, 0, 1870 }, { 9, 11, 31 }, { 10, 11, 244 }, + { 10, 11, 699 }, { 12, 11, 149 }, { 141, 11, 497 }, { 133, 11, 377 }, + { 145, 11, 101 }, { 10, 11, 158 }, { 13, 11, 13 }, { 13, 11, 137 }, + { 13, 11, 258 }, { 14, 11, 111 }, { 14, 11, 225 }, { 14, 11, 253 }, + { 14, 11, 304 }, { 14, 11, 339 }, { 14, 11, 417 }, { 146, 11, 33 }, + { 6, 0, 87 }, { 6, 10, 1734 }, { 7, 10, 20 }, { 7, 10, 1056 }, + { 8, 10, 732 }, { 9, 10, 406 }, { 9, 10, 911 }, { 138, 10, 694 }, + { 134, 0, 1243 }, { 137, 0, 245 }, { 7, 0, 68 }, { 8, 0, 48 }, + { 8, 0, 88 }, { 8, 0, 582 }, { 8, 0, 681 }, { 9, 0, 373 }, + { 9, 0, 864 }, { 11, 0, 157 }, { 11, 0, 336 }, { 11, 0, 843 }, + { 148, 0, 27 }, { 8, 11, 663 }, { 144, 11, 8 }, { 133, 10, 613 }, + { 4, 0, 88 }, { 5, 0, 137 }, { 5, 0, 174 }, { 5, 0, 777 }, + { 6, 0, 1664 }, { 6, 0, 1725 }, { 7, 0, 77 }, { 7, 0, 426 }, + { 7, 0, 1317 }, { 7, 0, 1355 }, { 8, 0, 126 }, { 8, 0, 563 }, + { 9, 0, 523 }, { 9, 0, 750 }, { 10, 0, 310 }, { 10, 0, 836 }, + { 11, 0, 42 }, { 11, 0, 318 }, { 11, 0, 731 }, { 12, 0, 68 }, + { 12, 0, 92 }, { 12, 0, 507 }, { 12, 0, 692 }, { 13, 0, 81 }, + { 13, 0, 238 }, { 13, 0, 374 }, { 14, 0, 436 }, { 18, 0, 138 }, + { 19, 0, 78 }, { 19, 0, 111 }, { 20, 0, 55 }, { 20, 0, 77 }, + { 148, 0, 92 }, { 141, 0, 418 }, { 4, 0, 938 }, { 137, 0, 625 }, + { 138, 0, 351 }, { 5, 11, 843 }, { 7, 10, 32 }, { 7, 10, 984 }, + { 8, 10, 85 }, { 8, 10, 709 }, { 9, 10, 579 }, { 9, 10, 847 }, + { 9, 10, 856 }, { 10, 10, 799 }, { 11, 10, 258 }, { 11, 10, 1007 }, + { 12, 10, 331 }, { 12, 10, 615 }, { 13, 10, 188 }, { 13, 10, 435 }, + { 14, 10, 8 }, { 15, 10, 165 }, { 16, 10, 27 }, { 148, 10, 40 }, + { 6, 0, 1668 }, { 7, 0, 1499 }, { 8, 0, 117 }, { 9, 0, 314 }, + { 138, 0, 174 }, { 135, 0, 707 }, { 132, 11, 554 }, { 133, 11, 536 }, + { 5, 0, 403 }, { 5, 11, 207 }, { 9, 11, 79 }, { 11, 11, 625 }, + { 145, 11, 7 }, { 132, 11, 424 }, { 136, 11, 785 }, { 4, 10, 167 }, + { 135, 10, 82 }, { 9, 0, 7 }, { 23, 0, 6 }, { 9, 11, 7 }, + { 151, 11, 6 }, { 6, 0, 282 }, { 5, 10, 62 }, { 6, 10, 534 }, + { 7, 10, 74 }, { 7, 10, 678 }, { 7, 10, 684 }, { 7, 10, 1043 }, + { 7, 10, 1072 }, { 8, 10, 280 }, { 8, 10, 541 }, { 8, 10, 686 }, + { 9, 10, 258 }, { 10, 10, 519 }, { 11, 10, 252 }, { 140, 10, 282 }, + { 138, 10, 33 }, { 132, 10, 359 }, { 4, 0, 44 }, { 5, 0, 311 }, + { 6, 0, 156 }, { 7, 0, 639 }, { 7, 0, 762 }, { 7, 0, 1827 }, + { 9, 0, 8 }, { 9, 0, 462 }, { 148, 0, 83 }, { 7, 11, 769 }, + { 9, 11, 18 }, { 138, 11, 358 }, { 4, 0, 346 }, { 7, 0, 115 }, + { 9, 0, 180 }, { 9, 0, 456 }, { 10, 0, 363 }, { 4, 11, 896 }, + { 134, 11, 1777 }, { 133, 10, 211 }, { 7, 0, 761 }, { 7, 0, 1051 }, + { 137, 0, 545 }, { 6, 10, 145 }, { 141, 10, 336 }, { 7, 11, 750 }, + { 9, 11, 223 }, { 11, 11, 27 }, { 11, 11, 466 }, { 12, 11, 624 }, + { 14, 11, 265 }, { 146, 11, 61 }, { 6, 0, 752 }, { 6, 0, 768 }, + { 6, 0, 1195 }, { 6, 0, 1254 }, { 6, 0, 1619 }, { 137, 0, 835 }, + { 6, 0, 1936 }, { 8, 0, 930 }, { 136, 0, 960 }, { 132, 10, 263 }, + { 132, 11, 249 }, { 12, 0, 653 }, { 132, 10, 916 }, { 4, 11, 603 }, + { 133, 11, 661 }, { 8, 0, 344 }, { 4, 11, 11 }, { 6, 11, 128 }, + { 7, 11, 231 }, { 7, 11, 1533 }, { 138, 11, 725 }, { 134, 0, 1483 }, + { 134, 0, 875 }, { 6, 0, 185 }, { 7, 0, 1899 }, { 9, 0, 875 }, + { 139, 0, 673 }, { 15, 10, 155 }, { 144, 10, 79 }, { 7, 0, 93 }, + { 7, 0, 210 }, { 7, 0, 1223 }, { 8, 0, 451 }, { 8, 0, 460 }, + { 11, 0, 353 }, { 11, 0, 475 }, { 4, 10, 599 }, { 6, 10, 1634 }, + { 7, 10, 67 }, { 7, 10, 691 }, { 7, 10, 979 }, { 7, 10, 1697 }, + { 8, 10, 207 }, { 8, 10, 214 }, { 8, 10, 231 }, { 8, 10, 294 }, + { 8, 10, 336 }, { 8, 10, 428 }, { 8, 10, 471 }, { 8, 10, 622 }, + { 8, 10, 626 }, { 8, 10, 679 }, { 8, 10, 759 }, { 8, 10, 829 }, + { 9, 10, 11 }, { 9, 10, 246 }, { 9, 10, 484 }, { 9, 10, 573 }, + { 9, 10, 706 }, { 9, 10, 762 }, { 9, 10, 798 }, { 9, 10, 855 }, + { 9, 10, 870 }, { 9, 10, 912 }, { 10, 10, 303 }, { 10, 10, 335 }, + { 10, 10, 424 }, { 10, 10, 461 }, { 10, 10, 543 }, { 10, 10, 759 }, + { 10, 10, 814 }, { 11, 10, 59 }, { 11, 10, 235 }, { 11, 10, 590 }, + { 11, 10, 929 }, { 11, 10, 963 }, { 11, 10, 987 }, { 12, 10, 114 }, + { 12, 10, 182 }, { 12, 10, 226 }, { 12, 10, 332 }, { 12, 10, 439 }, + { 12, 10, 575 }, { 12, 10, 598 }, { 12, 10, 675 }, { 13, 10, 8 }, + { 13, 10, 125 }, { 13, 10, 194 }, { 13, 10, 287 }, { 14, 10, 197 }, + { 14, 10, 383 }, { 15, 10, 53 }, { 17, 10, 63 }, { 19, 10, 46 }, + { 19, 10, 98 }, { 19, 10, 106 }, { 148, 10, 85 }, { 132, 11, 476 }, + { 4, 0, 327 }, { 5, 0, 478 }, { 7, 0, 1332 }, { 136, 0, 753 }, + { 5, 0, 1020 }, { 133, 0, 1022 }, { 135, 11, 1807 }, { 4, 0, 103 }, + { 133, 0, 401 }, { 4, 0, 499 }, { 135, 0, 1421 }, { 10, 0, 207 }, + { 13, 0, 164 }, { 147, 10, 126 }, { 9, 11, 20 }, { 10, 11, 324 }, + { 139, 11, 488 }, { 132, 0, 96 }, { 9, 11, 280 }, { 138, 11, 134 }, + { 135, 0, 968 }, { 133, 10, 187 }, { 135, 10, 1286 }, { 5, 11, 112 }, + { 6, 11, 103 }, { 134, 11, 150 }, { 8, 0, 914 }, { 10, 0, 3 }, + { 4, 10, 215 }, { 9, 10, 38 }, { 11, 10, 23 }, { 11, 10, 127 }, + { 139, 10, 796 }, { 135, 0, 399 }, { 6, 0, 563 }, { 137, 0, 224 }, + { 6, 0, 704 }, { 134, 0, 1214 }, { 4, 11, 708 }, { 8, 11, 15 }, + { 9, 11, 50 }, { 9, 11, 386 }, { 11, 11, 18 }, { 11, 11, 529 }, + { 140, 11, 228 }, { 4, 11, 563 }, { 7, 11, 109 }, { 7, 11, 592 }, + { 7, 11, 637 }, { 7, 11, 770 }, { 7, 11, 1701 }, { 8, 11, 436 }, + { 8, 11, 463 }, { 9, 11, 60 }, { 9, 11, 335 }, { 9, 11, 904 }, + { 10, 11, 73 }, { 11, 11, 434 }, { 12, 11, 585 }, { 13, 11, 331 }, + { 18, 11, 110 }, { 148, 11, 60 }, { 134, 0, 1559 }, { 132, 11, 502 }, + { 6, 11, 347 }, { 138, 11, 161 }, { 4, 11, 33 }, { 5, 11, 102 }, + { 5, 11, 500 }, { 6, 11, 284 }, { 7, 11, 1079 }, { 7, 11, 1423 }, + { 7, 11, 1702 }, { 8, 11, 470 }, { 9, 11, 554 }, { 9, 11, 723 }, + { 139, 11, 333 }, { 7, 11, 246 }, { 135, 11, 840 }, { 6, 11, 10 }, + { 8, 11, 571 }, { 9, 11, 739 }, { 143, 11, 91 }, { 8, 0, 861 }, + { 10, 0, 905 }, { 12, 0, 730 }, { 12, 0, 789 }, { 133, 11, 626 }, + { 134, 0, 946 }, { 5, 0, 746 }, { 12, 0, 333 }, { 14, 0, 332 }, + { 12, 11, 333 }, { 142, 11, 332 }, { 5, 11, 18 }, { 6, 11, 526 }, + { 13, 11, 24 }, { 13, 11, 110 }, { 19, 11, 5 }, { 147, 11, 44 }, + { 4, 0, 910 }, { 5, 0, 832 }, { 135, 10, 2002 }, { 10, 11, 768 }, + { 139, 11, 787 }, { 4, 11, 309 }, { 5, 11, 462 }, { 7, 11, 970 }, + { 135, 11, 1097 }, { 4, 10, 28 }, { 5, 10, 440 }, { 7, 10, 248 }, + { 11, 10, 833 }, { 140, 10, 344 }, { 134, 10, 1654 }, { 6, 0, 632 }, + { 6, 0, 652 }, { 6, 0, 1272 }, { 6, 0, 1384 }, { 134, 0, 1560 }, + { 134, 11, 1704 }, { 6, 0, 1393 }, { 133, 10, 853 }, { 6, 10, 249 }, + { 7, 10, 1234 }, { 139, 10, 573 }, { 5, 11, 86 }, { 7, 11, 743 }, + { 9, 11, 85 }, { 10, 11, 281 }, { 10, 11, 432 }, { 11, 11, 490 }, + { 12, 11, 251 }, { 13, 11, 118 }, { 14, 11, 378 }, { 146, 11, 143 }, + { 5, 11, 524 }, { 133, 11, 744 }, { 134, 0, 1514 }, { 10, 0, 201 }, + { 142, 0, 319 }, { 7, 0, 717 }, { 10, 0, 510 }, { 7, 10, 392 }, + { 8, 10, 20 }, { 8, 10, 172 }, { 8, 10, 690 }, { 9, 10, 383 }, + { 9, 10, 845 }, { 11, 10, 293 }, { 11, 10, 832 }, { 11, 10, 920 }, + { 11, 10, 984 }, { 141, 10, 221 }, { 134, 0, 1381 }, { 5, 10, 858 }, + { 133, 10, 992 }, { 8, 0, 528 }, { 137, 0, 348 }, { 10, 11, 107 }, + { 140, 11, 436 }, { 4, 0, 20 }, { 133, 0, 616 }, { 134, 0, 1251 }, + { 132, 11, 927 }, { 10, 11, 123 }, { 12, 11, 670 }, { 13, 11, 371 }, + { 14, 11, 142 }, { 146, 11, 94 }, { 134, 0, 1163 }, { 7, 11, 1149 }, + { 137, 11, 156 }, { 134, 0, 307 }, { 133, 11, 778 }, { 7, 0, 1091 }, + { 135, 0, 1765 }, { 5, 11, 502 }, { 6, 10, 268 }, { 137, 10, 62 }, + { 8, 11, 196 }, { 10, 11, 283 }, { 139, 11, 406 }, { 4, 0, 26 }, + { 5, 0, 429 }, { 6, 0, 245 }, { 7, 0, 704 }, { 7, 0, 1379 }, + { 135, 0, 1474 }, { 133, 11, 855 }, { 132, 0, 881 }, { 4, 0, 621 }, + { 135, 11, 1596 }, { 7, 11, 1400 }, { 9, 11, 446 }, { 138, 11, 45 }, + { 6, 0, 736 }, { 138, 10, 106 }, { 133, 0, 542 }, { 134, 0, 348 }, + { 133, 0, 868 }, { 136, 0, 433 }, { 135, 0, 1495 }, { 138, 0, 771 }, + { 6, 10, 613 }, { 136, 10, 223 }, { 138, 0, 215 }, { 141, 0, 124 }, + { 136, 11, 391 }, { 135, 11, 172 }, { 132, 10, 670 }, { 140, 0, 55 }, + { 9, 10, 40 }, { 139, 10, 136 }, { 7, 0, 62 }, { 147, 0, 112 }, + { 132, 0, 856 }, { 132, 11, 568 }, { 12, 0, 270 }, { 139, 10, 259 }, + { 8, 0, 572 }, { 137, 0, 698 }, { 4, 11, 732 }, { 9, 10, 310 }, + { 137, 10, 682 }, { 142, 10, 296 }, { 134, 0, 939 }, { 136, 11, 733 }, + { 135, 11, 1435 }, { 7, 10, 1401 }, { 135, 10, 1476 }, { 6, 0, 352 }, + { 4, 10, 296 }, { 7, 10, 401 }, { 7, 10, 1410 }, { 7, 10, 1594 }, + { 7, 10, 1674 }, { 8, 10, 63 }, { 8, 10, 660 }, { 137, 10, 74 }, + { 4, 11, 428 }, { 133, 11, 668 }, { 4, 10, 139 }, { 4, 10, 388 }, + { 140, 10, 188 }, { 7, 11, 2015 }, { 140, 11, 665 }, { 132, 0, 647 }, + { 146, 0, 10 }, { 138, 0, 220 }, { 142, 0, 464 }, { 132, 0, 109 }, + { 134, 0, 1746 }, { 6, 0, 515 }, { 4, 10, 747 }, { 6, 11, 1623 }, + { 6, 11, 1681 }, { 7, 10, 649 }, { 7, 10, 1479 }, { 135, 10, 1583 }, + { 133, 10, 232 }, { 135, 0, 566 }, { 137, 10, 887 }, { 4, 0, 40 }, + { 10, 0, 67 }, { 11, 0, 117 }, { 11, 0, 768 }, { 139, 0, 935 }, + { 132, 0, 801 }, { 7, 0, 992 }, { 8, 0, 301 }, { 9, 0, 722 }, + { 12, 0, 63 }, { 13, 0, 29 }, { 14, 0, 161 }, { 143, 0, 18 }, + { 139, 0, 923 }, { 6, 11, 1748 }, { 8, 11, 715 }, { 9, 11, 802 }, + { 10, 11, 46 }, { 10, 11, 819 }, { 13, 11, 308 }, { 14, 11, 351 }, + { 14, 11, 363 }, { 146, 11, 67 }, { 137, 11, 745 }, { 7, 0, 1145 }, + { 4, 10, 14 }, { 7, 10, 1801 }, { 10, 10, 748 }, { 141, 10, 458 }, + { 4, 11, 63 }, { 5, 11, 347 }, { 134, 11, 474 }, { 135, 0, 568 }, + { 4, 10, 425 }, { 7, 11, 577 }, { 7, 11, 1432 }, { 9, 11, 475 }, + { 9, 11, 505 }, { 9, 11, 526 }, { 9, 11, 609 }, { 9, 11, 689 }, + { 9, 11, 726 }, { 9, 11, 735 }, { 9, 11, 738 }, { 10, 11, 556 }, + { 10, 11, 674 }, { 10, 11, 684 }, { 11, 11, 89 }, { 11, 11, 202 }, + { 11, 11, 272 }, { 11, 11, 380 }, { 11, 11, 415 }, { 11, 11, 505 }, + { 11, 11, 537 }, { 11, 11, 550 }, { 11, 11, 562 }, { 11, 11, 640 }, + { 11, 11, 667 }, { 11, 11, 688 }, { 11, 11, 847 }, { 11, 11, 927 }, + { 11, 11, 930 }, { 11, 11, 940 }, { 12, 11, 144 }, { 12, 11, 325 }, + { 12, 11, 329 }, { 12, 11, 389 }, { 12, 11, 403 }, { 12, 11, 451 }, + { 12, 11, 515 }, { 12, 11, 604 }, { 12, 11, 616 }, { 12, 11, 626 }, + { 13, 11, 66 }, { 13, 11, 131 }, { 13, 11, 167 }, { 13, 11, 236 }, + { 13, 11, 368 }, { 13, 11, 411 }, { 13, 11, 434 }, { 13, 11, 453 }, + { 13, 11, 461 }, { 13, 11, 474 }, { 14, 11, 59 }, { 14, 11, 60 }, + { 14, 11, 139 }, { 14, 11, 152 }, { 14, 11, 276 }, { 14, 11, 353 }, + { 14, 11, 402 }, { 15, 11, 28 }, { 15, 11, 81 }, { 15, 11, 123 }, + { 15, 11, 152 }, { 18, 11, 136 }, { 148, 11, 88 }, { 137, 0, 247 }, + { 135, 11, 1622 }, { 9, 11, 544 }, { 11, 11, 413 }, { 144, 11, 25 }, + { 4, 0, 645 }, { 7, 0, 825 }, { 6, 10, 1768 }, { 135, 11, 89 }, + { 140, 0, 328 }, { 5, 10, 943 }, { 134, 10, 1779 }, { 134, 0, 1363 }, + { 5, 10, 245 }, { 6, 10, 576 }, { 7, 10, 582 }, { 136, 10, 225 }, + { 134, 0, 1280 }, { 5, 11, 824 }, { 133, 11, 941 }, { 7, 11, 440 }, + { 8, 11, 230 }, { 139, 11, 106 }, { 5, 0, 28 }, { 6, 0, 204 }, + { 10, 0, 320 }, { 10, 0, 583 }, { 13, 0, 502 }, { 14, 0, 72 }, + { 14, 0, 274 }, { 14, 0, 312 }, { 14, 0, 344 }, { 15, 0, 159 }, + { 16, 0, 62 }, { 16, 0, 69 }, { 17, 0, 30 }, { 18, 0, 42 }, + { 18, 0, 53 }, { 18, 0, 84 }, { 18, 0, 140 }, { 19, 0, 68 }, + { 19, 0, 85 }, { 20, 0, 5 }, { 20, 0, 45 }, { 20, 0, 101 }, + { 22, 0, 7 }, { 150, 0, 20 }, { 4, 0, 558 }, { 6, 0, 390 }, + { 7, 0, 162 }, { 7, 0, 689 }, { 9, 0, 360 }, { 138, 0, 653 }, + { 134, 0, 764 }, { 6, 0, 862 }, { 137, 0, 833 }, { 5, 0, 856 }, + { 6, 0, 1672 }, { 6, 0, 1757 }, { 134, 0, 1781 }, { 5, 0, 92 }, + { 10, 0, 736 }, { 140, 0, 102 }, { 6, 0, 1927 }, { 6, 0, 1944 }, + { 8, 0, 924 }, { 8, 0, 948 }, { 10, 0, 967 }, { 138, 0, 978 }, + { 134, 0, 1479 }, { 5, 0, 590 }, { 8, 0, 360 }, { 9, 0, 213 }, + { 138, 0, 63 }, { 134, 0, 1521 }, { 6, 0, 709 }, { 134, 0, 891 }, + { 132, 10, 443 }, { 13, 0, 477 }, { 14, 0, 120 }, { 148, 0, 61 }, + { 4, 11, 914 }, { 5, 11, 800 }, { 133, 11, 852 }, { 10, 11, 54 }, + { 141, 11, 115 }, { 4, 11, 918 }, { 133, 11, 876 }, { 139, 11, 152 }, + { 4, 11, 92 }, { 133, 11, 274 }, { 135, 11, 1901 }, { 9, 11, 800 }, + { 10, 11, 693 }, { 11, 11, 482 }, { 11, 11, 734 }, { 139, 11, 789 }, + { 9, 0, 483 }, { 132, 10, 298 }, { 6, 0, 1213 }, { 141, 11, 498 }, + { 135, 11, 1451 }, { 133, 11, 743 }, { 4, 0, 1022 }, { 10, 0, 1000 }, + { 12, 0, 957 }, { 12, 0, 980 }, { 12, 0, 1013 }, { 14, 0, 481 }, + { 144, 0, 116 }, { 8, 0, 503 }, { 17, 0, 29 }, { 4, 11, 49 }, + { 7, 11, 280 }, { 135, 11, 1633 }, { 135, 0, 1712 }, { 134, 0, 466 }, + { 136, 11, 47 }, { 5, 10, 164 }, { 7, 10, 121 }, { 142, 10, 189 }, + { 7, 10, 812 }, { 7, 10, 1261 }, { 7, 10, 1360 }, { 9, 10, 632 }, + { 140, 10, 352 }, { 139, 10, 556 }, { 132, 0, 731 }, { 5, 11, 272 }, + { 5, 11, 908 }, { 5, 11, 942 }, { 7, 11, 1008 }, { 7, 11, 1560 }, + { 8, 11, 197 }, { 9, 11, 47 }, { 11, 11, 538 }, { 139, 11, 742 }, + { 4, 10, 172 }, { 9, 10, 611 }, { 10, 10, 436 }, { 12, 10, 673 }, + { 141, 10, 255 }, { 133, 10, 844 }, { 10, 0, 484 }, { 11, 0, 754 }, + { 12, 0, 457 }, { 14, 0, 171 }, { 14, 0, 389 }, { 146, 0, 153 }, + { 9, 10, 263 }, { 10, 10, 147 }, { 138, 10, 492 }, { 137, 11, 891 }, + { 138, 0, 241 }, { 133, 10, 537 }, { 6, 0, 2005 }, { 136, 0, 964 }, + { 137, 10, 842 }, { 151, 11, 8 }, { 4, 11, 407 }, { 132, 11, 560 }, + { 135, 11, 1884 }, { 6, 0, 1100 }, { 134, 0, 1242 }, { 135, 0, 954 }, + { 5, 10, 230 }, { 5, 10, 392 }, { 6, 10, 420 }, { 9, 10, 568 }, + { 140, 10, 612 }, { 4, 11, 475 }, { 11, 11, 35 }, { 11, 11, 90 }, + { 13, 11, 7 }, { 13, 11, 71 }, { 13, 11, 177 }, { 142, 11, 422 }, + { 136, 11, 332 }, { 135, 0, 1958 }, { 6, 0, 549 }, { 8, 0, 34 }, + { 8, 0, 283 }, { 9, 0, 165 }, { 138, 0, 475 }, { 10, 0, 952 }, + { 12, 0, 966 }, { 140, 0, 994 }, { 5, 0, 652 }, { 5, 0, 701 }, + { 135, 0, 449 }, { 4, 0, 655 }, { 7, 0, 850 }, { 17, 0, 75 }, + { 146, 0, 137 }, { 4, 0, 146 }, { 7, 0, 1618 }, { 8, 0, 670 }, + { 5, 10, 41 }, { 7, 10, 1459 }, { 7, 10, 1469 }, { 7, 10, 1859 }, + { 9, 10, 549 }, { 139, 10, 905 }, { 133, 10, 696 }, { 6, 0, 159 }, + { 6, 0, 364 }, { 7, 0, 516 }, { 137, 0, 518 }, { 135, 0, 1439 }, + { 6, 11, 222 }, { 7, 11, 636 }, { 7, 11, 1620 }, { 8, 11, 409 }, + { 9, 11, 693 }, { 139, 11, 77 }, { 13, 0, 151 }, { 141, 11, 45 }, + { 6, 0, 1027 }, { 4, 11, 336 }, { 132, 10, 771 }, { 139, 11, 392 }, + { 10, 11, 121 }, { 11, 11, 175 }, { 149, 11, 16 }, { 8, 0, 950 }, + { 138, 0, 983 }, { 133, 10, 921 }, { 135, 0, 993 }, { 6, 10, 180 }, + { 7, 10, 1137 }, { 8, 10, 751 }, { 139, 10, 805 }, { 7, 0, 501 }, + { 9, 0, 111 }, { 10, 0, 141 }, { 11, 0, 332 }, { 13, 0, 43 }, + { 13, 0, 429 }, { 14, 0, 130 }, { 14, 0, 415 }, { 145, 0, 102 }, + { 4, 10, 183 }, { 5, 11, 882 }, { 7, 10, 271 }, { 11, 10, 824 }, + { 11, 10, 952 }, { 13, 10, 278 }, { 13, 10, 339 }, { 13, 10, 482 }, + { 14, 10, 424 }, { 148, 10, 99 }, { 4, 10, 19 }, { 5, 10, 477 }, + { 5, 10, 596 }, { 6, 10, 505 }, { 7, 10, 1221 }, { 11, 10, 907 }, + { 12, 10, 209 }, { 141, 10, 214 }, { 135, 10, 1215 }, { 133, 0, 452 }, + { 132, 11, 426 }, { 5, 0, 149 }, { 136, 0, 233 }, { 133, 0, 935 }, + { 6, 11, 58 }, { 7, 11, 654 }, { 7, 11, 745 }, { 7, 11, 1969 }, + { 8, 11, 240 }, { 8, 11, 675 }, { 9, 11, 479 }, { 9, 11, 731 }, + { 10, 11, 330 }, { 10, 11, 593 }, { 10, 11, 817 }, { 11, 11, 32 }, + { 11, 11, 133 }, { 11, 11, 221 }, { 145, 11, 68 }, { 12, 0, 582 }, + { 18, 0, 131 }, { 7, 11, 102 }, { 137, 11, 538 }, { 136, 0, 801 }, + { 134, 10, 1645 }, { 132, 0, 70 }, { 6, 10, 92 }, { 6, 10, 188 }, + { 7, 10, 1269 }, { 7, 10, 1524 }, { 7, 10, 1876 }, { 10, 10, 228 }, + { 139, 10, 1020 }, { 4, 10, 459 }, { 133, 10, 966 }, { 138, 0, 369 }, + { 16, 0, 36 }, { 140, 10, 330 }, { 141, 11, 366 }, { 7, 0, 721 }, + { 10, 0, 236 }, { 12, 0, 204 }, { 6, 10, 18 }, { 7, 10, 932 }, + { 8, 10, 757 }, { 9, 10, 54 }, { 9, 10, 65 }, { 9, 10, 844 }, + { 10, 10, 113 }, { 10, 10, 315 }, { 10, 10, 798 }, { 11, 10, 153 }, + { 12, 10, 151 }, { 12, 10, 392 }, { 12, 10, 666 }, { 142, 10, 248 }, + { 7, 0, 241 }, { 10, 0, 430 }, { 8, 10, 548 }, { 9, 10, 532 }, + { 10, 10, 117 }, { 11, 10, 351 }, { 11, 10, 375 }, { 143, 10, 23 }, + { 134, 10, 1742 }, { 133, 10, 965 }, { 133, 11, 566 }, { 6, 11, 48 }, + { 135, 11, 63 }, { 134, 10, 182 }, { 10, 10, 65 }, { 10, 10, 488 }, + { 138, 10, 497 }, { 6, 11, 114 }, { 7, 11, 1224 }, { 7, 11, 1556 }, + { 136, 11, 3 }, { 134, 0, 1817 }, { 8, 11, 576 }, { 137, 11, 267 }, + { 6, 0, 1078 }, { 144, 0, 16 }, { 9, 10, 588 }, { 138, 10, 260 }, + { 138, 0, 1021 }, { 5, 0, 406 }, { 134, 0, 2022 }, { 133, 11, 933 }, + { 6, 0, 69 }, { 135, 0, 117 }, { 7, 0, 1830 }, { 136, 11, 427 }, + { 4, 0, 432 }, { 135, 0, 824 }, { 134, 10, 1786 }, { 133, 0, 826 }, + { 139, 11, 67 }, { 133, 11, 759 }, { 135, 10, 308 }, { 137, 0, 816 }, + { 133, 0, 1000 }, { 4, 0, 297 }, { 6, 0, 529 }, { 7, 0, 152 }, + { 7, 0, 713 }, { 7, 0, 1845 }, { 8, 0, 710 }, { 8, 0, 717 }, + { 12, 0, 639 }, { 140, 0, 685 }, { 7, 0, 423 }, { 136, 10, 588 }, + { 136, 10, 287 }, { 136, 0, 510 }, { 134, 0, 1048 }, { 6, 0, 618 }, + { 7, 11, 56 }, { 7, 11, 1989 }, { 8, 11, 337 }, { 8, 11, 738 }, + { 9, 11, 600 }, { 10, 11, 483 }, { 12, 11, 37 }, { 13, 11, 447 }, + { 142, 11, 92 }, { 4, 0, 520 }, { 135, 0, 575 }, { 8, 0, 990 }, + { 138, 0, 977 }, { 135, 11, 774 }, { 9, 11, 347 }, { 11, 11, 24 }, + { 140, 11, 170 }, { 136, 11, 379 }, { 140, 10, 290 }, { 132, 11, 328 }, + { 4, 0, 321 }, { 134, 0, 569 }, { 4, 11, 101 }, { 135, 11, 1171 }, + { 7, 0, 723 }, { 7, 0, 1135 }, { 5, 11, 833 }, { 136, 11, 744 }, + { 7, 10, 719 }, { 8, 10, 809 }, { 136, 10, 834 }, { 8, 0, 921 }, + { 136, 10, 796 }, { 5, 10, 210 }, { 6, 10, 213 }, { 7, 10, 60 }, + { 10, 10, 364 }, { 139, 10, 135 }, { 5, 0, 397 }, { 6, 0, 154 }, + { 7, 0, 676 }, { 8, 0, 443 }, { 8, 0, 609 }, { 9, 0, 24 }, + { 9, 0, 325 }, { 10, 0, 35 }, { 11, 0, 535 }, { 11, 0, 672 }, + { 11, 0, 1018 }, { 12, 0, 637 }, { 16, 0, 30 }, { 5, 10, 607 }, + { 8, 10, 326 }, { 136, 10, 490 }, { 4, 10, 701 }, { 5, 10, 472 }, + { 6, 11, 9 }, { 6, 11, 397 }, { 7, 11, 53 }, { 7, 11, 1742 }, + { 9, 10, 758 }, { 10, 11, 632 }, { 11, 11, 828 }, { 140, 11, 146 }, + { 135, 10, 380 }, { 135, 10, 1947 }, { 148, 11, 109 }, { 10, 10, 278 }, + { 138, 11, 278 }, { 134, 0, 856 }, { 7, 0, 139 }, { 4, 10, 386 }, + { 8, 10, 405 }, { 8, 10, 728 }, { 9, 10, 497 }, { 11, 10, 110 }, + { 11, 10, 360 }, { 15, 10, 37 }, { 144, 10, 84 }, { 141, 0, 282 }, + { 133, 0, 981 }, { 5, 0, 288 }, { 7, 10, 1452 }, { 7, 10, 1480 }, + { 8, 10, 634 }, { 140, 10, 472 }, { 7, 0, 1890 }, { 8, 11, 367 }, + { 10, 11, 760 }, { 14, 11, 79 }, { 20, 11, 17 }, { 152, 11, 0 }, + { 4, 10, 524 }, { 136, 10, 810 }, { 4, 0, 56 }, { 7, 0, 1791 }, + { 8, 0, 607 }, { 8, 0, 651 }, { 11, 0, 465 }, { 11, 0, 835 }, + { 12, 0, 337 }, { 141, 0, 480 }, { 10, 10, 238 }, { 141, 10, 33 }, + { 11, 11, 417 }, { 12, 11, 223 }, { 140, 11, 265 }, { 9, 0, 158 }, + { 10, 0, 411 }, { 140, 0, 261 }, { 133, 10, 532 }, { 133, 10, 997 }, + { 12, 11, 186 }, { 12, 11, 292 }, { 14, 11, 100 }, { 146, 11, 70 }, + { 6, 0, 1403 }, { 136, 0, 617 }, { 134, 0, 1205 }, { 139, 0, 563 }, + { 4, 0, 242 }, { 134, 0, 333 }, { 4, 11, 186 }, { 5, 11, 157 }, + { 8, 11, 168 }, { 138, 11, 6 }, { 132, 0, 369 }, { 133, 11, 875 }, + { 5, 10, 782 }, { 5, 10, 829 }, { 134, 10, 1738 }, { 134, 0, 622 }, + { 135, 11, 1272 }, { 6, 0, 1407 }, { 7, 11, 111 }, { 136, 11, 581 }, + { 7, 10, 1823 }, { 139, 10, 693 }, { 7, 0, 160 }, { 10, 0, 624 }, + { 142, 0, 279 }, { 132, 0, 363 }, { 10, 11, 589 }, { 12, 11, 111 }, + { 13, 11, 260 }, { 14, 11, 82 }, { 18, 11, 63 }, { 147, 11, 45 }, + { 7, 11, 1364 }, { 7, 11, 1907 }, { 141, 11, 158 }, { 4, 11, 404 }, + { 4, 11, 659 }, { 135, 11, 675 }, { 13, 11, 211 }, { 14, 11, 133 }, + { 14, 11, 204 }, { 15, 11, 64 }, { 15, 11, 69 }, { 15, 11, 114 }, + { 16, 11, 10 }, { 19, 11, 23 }, { 19, 11, 35 }, { 19, 11, 39 }, + { 19, 11, 51 }, { 19, 11, 71 }, { 19, 11, 75 }, { 152, 11, 15 }, + { 4, 10, 78 }, { 5, 10, 96 }, { 5, 10, 182 }, { 7, 10, 1724 }, + { 7, 10, 1825 }, { 10, 10, 394 }, { 10, 10, 471 }, { 11, 10, 532 }, + { 14, 10, 340 }, { 145, 10, 88 }, { 135, 10, 1964 }, { 133, 11, 391 }, + { 11, 11, 887 }, { 14, 11, 365 }, { 142, 11, 375 }, { 5, 11, 540 }, + { 6, 11, 1697 }, { 7, 11, 222 }, { 136, 11, 341 }, { 134, 11, 78 }, + { 9, 0, 601 }, { 9, 0, 619 }, { 10, 0, 505 }, { 10, 0, 732 }, + { 11, 0, 355 }, { 140, 0, 139 }, { 134, 0, 292 }, { 139, 0, 174 }, + { 5, 0, 177 }, { 6, 0, 616 }, { 7, 0, 827 }, { 9, 0, 525 }, + { 138, 0, 656 }, { 10, 0, 31 }, { 6, 10, 215 }, { 7, 10, 1028 }, + { 7, 10, 1473 }, { 7, 10, 1721 }, { 9, 10, 424 }, { 138, 10, 779 }, + { 135, 10, 584 }, { 136, 11, 293 }, { 134, 0, 685 }, { 135, 11, 1868 }, + { 133, 11, 460 }, { 7, 0, 647 }, { 6, 10, 67 }, { 7, 10, 1630 }, + { 9, 10, 354 }, { 9, 10, 675 }, { 10, 10, 830 }, { 14, 10, 80 }, + { 145, 10, 80 }, { 4, 0, 161 }, { 133, 0, 631 }, { 6, 10, 141 }, + { 7, 10, 225 }, { 9, 10, 59 }, { 9, 10, 607 }, { 10, 10, 312 }, + { 11, 10, 687 }, { 12, 10, 555 }, { 13, 10, 373 }, { 13, 10, 494 }, + { 148, 10, 58 }, { 7, 11, 965 }, { 7, 11, 1460 }, { 135, 11, 1604 }, + { 136, 10, 783 }, { 134, 11, 388 }, { 6, 0, 722 }, { 6, 0, 1267 }, + { 4, 11, 511 }, { 9, 11, 333 }, { 9, 11, 379 }, { 10, 11, 602 }, + { 11, 11, 441 }, { 11, 11, 723 }, { 11, 11, 976 }, { 140, 11, 357 }, + { 134, 0, 1797 }, { 135, 0, 1684 }, { 9, 0, 469 }, { 9, 0, 709 }, + { 12, 0, 512 }, { 14, 0, 65 }, { 17, 0, 12 }, { 5, 11, 938 }, + { 136, 11, 707 }, { 7, 0, 1230 }, { 136, 0, 531 }, { 10, 0, 229 }, + { 11, 0, 73 }, { 11, 0, 376 }, { 139, 0, 433 }, { 12, 0, 268 }, + { 12, 0, 640 }, { 142, 0, 119 }, { 7, 10, 430 }, { 139, 10, 46 }, + { 6, 0, 558 }, { 7, 0, 651 }, { 8, 0, 421 }, { 9, 0, 0 }, + { 10, 0, 34 }, { 139, 0, 1008 }, { 6, 0, 106 }, { 7, 0, 1786 }, + { 7, 0, 1821 }, { 9, 0, 102 }, { 9, 0, 763 }, { 5, 10, 602 }, + { 7, 10, 2018 }, { 137, 10, 418 }, { 5, 0, 65 }, { 6, 0, 416 }, + { 7, 0, 1720 }, { 7, 0, 1924 }, { 10, 0, 109 }, { 11, 0, 14 }, + { 11, 0, 70 }, { 11, 0, 569 }, { 11, 0, 735 }, { 15, 0, 153 }, + { 20, 0, 80 }, { 136, 10, 677 }, { 135, 11, 1625 }, { 137, 11, 772 }, + { 136, 0, 595 }, { 6, 11, 469 }, { 7, 11, 1709 }, { 138, 11, 515 }, + { 7, 0, 1832 }, { 138, 0, 374 }, { 9, 0, 106 }, { 9, 0, 163 }, + { 9, 0, 296 }, { 10, 0, 167 }, { 10, 0, 172 }, { 10, 0, 777 }, + { 139, 0, 16 }, { 6, 0, 6 }, { 7, 0, 81 }, { 7, 0, 771 }, + { 7, 0, 1731 }, { 9, 0, 405 }, { 138, 0, 421 }, { 4, 11, 500 }, + { 135, 11, 938 }, { 5, 11, 68 }, { 134, 11, 383 }, { 5, 0, 881 }, + { 133, 0, 885 }, { 6, 0, 854 }, { 6, 0, 1132 }, { 6, 0, 1495 }, + { 6, 0, 1526 }, { 6, 0, 1533 }, { 134, 0, 1577 }, { 4, 11, 337 }, + { 6, 11, 353 }, { 7, 11, 1934 }, { 8, 11, 488 }, { 137, 11, 429 }, + { 7, 11, 236 }, { 7, 11, 1795 }, { 8, 11, 259 }, { 9, 11, 135 }, + { 9, 11, 177 }, { 10, 11, 825 }, { 11, 11, 115 }, { 11, 11, 370 }, + { 11, 11, 405 }, { 11, 11, 604 }, { 12, 11, 10 }, { 12, 11, 667 }, + { 12, 11, 669 }, { 13, 11, 76 }, { 14, 11, 310 }, { 15, 11, 76 }, + { 15, 11, 147 }, { 148, 11, 23 }, { 5, 0, 142 }, { 134, 0, 546 }, + { 4, 11, 15 }, { 5, 11, 22 }, { 6, 11, 244 }, { 7, 11, 40 }, + { 7, 11, 200 }, { 7, 11, 906 }, { 7, 11, 1199 }, { 9, 11, 616 }, + { 10, 11, 716 }, { 11, 11, 635 }, { 11, 11, 801 }, { 140, 11, 458 }, + { 5, 0, 466 }, { 11, 0, 571 }, { 12, 0, 198 }, { 13, 0, 283 }, + { 14, 0, 186 }, { 15, 0, 21 }, { 15, 0, 103 }, { 135, 10, 329 }, + { 4, 0, 185 }, { 5, 0, 257 }, { 5, 0, 839 }, { 5, 0, 936 }, + { 9, 0, 399 }, { 10, 0, 258 }, { 10, 0, 395 }, { 10, 0, 734 }, + { 11, 0, 1014 }, { 12, 0, 23 }, { 13, 0, 350 }, { 14, 0, 150 }, + { 19, 0, 6 }, { 135, 11, 1735 }, { 12, 11, 36 }, { 141, 11, 337 }, + { 5, 11, 598 }, { 7, 11, 791 }, { 8, 11, 108 }, { 137, 11, 123 }, + { 132, 10, 469 }, { 7, 0, 404 }, { 7, 0, 1377 }, { 7, 0, 1430 }, + { 7, 0, 2017 }, { 8, 0, 149 }, { 8, 0, 239 }, { 8, 0, 512 }, + { 8, 0, 793 }, { 8, 0, 818 }, { 9, 0, 474 }, { 9, 0, 595 }, + { 10, 0, 122 }, { 10, 0, 565 }, { 10, 0, 649 }, { 10, 0, 783 }, + { 11, 0, 239 }, { 11, 0, 295 }, { 11, 0, 447 }, { 11, 0, 528 }, + { 11, 0, 639 }, { 11, 0, 800 }, { 12, 0, 25 }, { 12, 0, 77 }, + { 12, 0, 157 }, { 12, 0, 256 }, { 12, 0, 316 }, { 12, 0, 390 }, + { 12, 0, 391 }, { 12, 0, 395 }, { 12, 0, 478 }, { 12, 0, 503 }, + { 12, 0, 592 }, { 12, 0, 680 }, { 13, 0, 50 }, { 13, 0, 53 }, + { 13, 0, 132 }, { 13, 0, 198 }, { 13, 0, 322 }, { 13, 0, 415 }, + { 13, 0, 511 }, { 14, 0, 71 }, { 14, 0, 395 }, { 15, 0, 71 }, + { 15, 0, 136 }, { 17, 0, 123 }, { 18, 0, 93 }, { 147, 0, 58 }, + { 136, 0, 712 }, { 134, 10, 1743 }, { 5, 10, 929 }, { 6, 10, 340 }, + { 8, 10, 376 }, { 136, 10, 807 }, { 6, 0, 1848 }, { 8, 0, 860 }, + { 10, 0, 856 }, { 10, 0, 859 }, { 10, 0, 925 }, { 10, 0, 941 }, + { 140, 0, 762 }, { 6, 0, 629 }, { 6, 0, 906 }, { 9, 0, 810 }, + { 140, 0, 652 }, { 5, 10, 218 }, { 7, 10, 1610 }, { 138, 10, 83 }, + { 7, 10, 1512 }, { 135, 10, 1794 }, { 4, 0, 377 }, { 24, 0, 13 }, + { 4, 11, 155 }, { 7, 11, 1689 }, { 11, 10, 0 }, { 144, 10, 78 }, + { 4, 11, 164 }, { 5, 11, 151 }, { 5, 11, 730 }, { 5, 11, 741 }, + { 7, 11, 498 }, { 7, 11, 870 }, { 7, 11, 1542 }, { 12, 11, 213 }, + { 14, 11, 36 }, { 14, 11, 391 }, { 17, 11, 111 }, { 18, 11, 6 }, + { 18, 11, 46 }, { 18, 11, 151 }, { 19, 11, 36 }, { 20, 11, 32 }, + { 20, 11, 56 }, { 20, 11, 69 }, { 20, 11, 102 }, { 21, 11, 4 }, + { 22, 11, 8 }, { 22, 11, 10 }, { 22, 11, 14 }, { 150, 11, 31 }, + { 7, 0, 1842 }, { 133, 10, 571 }, { 4, 10, 455 }, { 4, 11, 624 }, + { 135, 11, 1752 }, { 134, 0, 1501 }, { 4, 11, 492 }, { 5, 11, 451 }, + { 6, 10, 161 }, { 7, 10, 372 }, { 137, 10, 597 }, { 132, 10, 349 }, + { 4, 0, 180 }, { 135, 0, 1906 }, { 135, 11, 835 }, { 141, 11, 70 }, + { 132, 0, 491 }, { 137, 10, 751 }, { 6, 10, 432 }, { 139, 10, 322 }, + { 4, 0, 171 }, { 138, 0, 234 }, { 6, 11, 113 }, { 135, 11, 436 }, + { 4, 0, 586 }, { 7, 0, 1186 }, { 138, 0, 631 }, { 5, 10, 468 }, + { 10, 10, 325 }, { 11, 10, 856 }, { 12, 10, 345 }, { 143, 10, 104 }, + { 5, 10, 223 }, { 10, 11, 592 }, { 10, 11, 753 }, { 12, 11, 317 }, + { 12, 11, 355 }, { 12, 11, 465 }, { 12, 11, 469 }, { 12, 11, 560 }, + { 12, 11, 578 }, { 141, 11, 243 }, { 132, 10, 566 }, { 135, 11, 520 }, + { 4, 10, 59 }, { 135, 10, 1394 }, { 6, 10, 436 }, { 139, 10, 481 }, + { 9, 0, 931 }, { 10, 0, 334 }, { 20, 0, 71 }, { 4, 10, 48 }, + { 5, 10, 271 }, { 7, 10, 953 }, { 135, 11, 1878 }, { 11, 0, 170 }, + { 5, 10, 610 }, { 136, 10, 457 }, { 133, 10, 755 }, { 6, 0, 1587 }, + { 135, 10, 1217 }, { 4, 10, 197 }, { 149, 11, 26 }, { 133, 11, 585 }, + { 137, 11, 521 }, { 133, 0, 765 }, { 133, 10, 217 }, { 139, 11, 586 }, + { 133, 0, 424 }, { 9, 11, 752 }, { 12, 11, 610 }, { 13, 11, 431 }, + { 16, 11, 59 }, { 146, 11, 109 }, { 136, 0, 714 }, { 7, 0, 685 }, + { 132, 11, 307 }, { 9, 0, 420 }, { 10, 0, 269 }, { 10, 0, 285 }, + { 10, 0, 576 }, { 11, 0, 397 }, { 13, 0, 175 }, { 145, 0, 90 }, + { 132, 0, 429 }, { 133, 11, 964 }, { 9, 11, 463 }, { 138, 11, 595 }, + { 7, 0, 18 }, { 7, 0, 699 }, { 7, 0, 1966 }, { 8, 0, 752 }, + { 9, 0, 273 }, { 9, 0, 412 }, { 9, 0, 703 }, { 10, 0, 71 }, + { 10, 0, 427 }, { 138, 0, 508 }, { 4, 10, 165 }, { 7, 10, 1398 }, + { 135, 10, 1829 }, { 4, 0, 53 }, { 5, 0, 186 }, { 7, 0, 752 }, + { 7, 0, 828 }, { 142, 0, 116 }, { 8, 0, 575 }, { 10, 0, 289 }, + { 139, 0, 319 }, { 132, 0, 675 }, { 134, 0, 1424 }, { 4, 11, 75 }, + { 5, 11, 180 }, { 6, 11, 500 }, { 7, 11, 58 }, { 7, 11, 710 }, + { 138, 11, 645 }, { 133, 11, 649 }, { 6, 11, 276 }, { 7, 11, 282 }, + { 7, 11, 879 }, { 7, 11, 924 }, { 8, 11, 459 }, { 9, 11, 599 }, + { 9, 11, 754 }, { 11, 11, 574 }, { 12, 11, 128 }, { 12, 11, 494 }, + { 13, 11, 52 }, { 13, 11, 301 }, { 15, 11, 30 }, { 143, 11, 132 }, + { 6, 0, 647 }, { 134, 0, 1095 }, { 5, 10, 9 }, { 7, 10, 297 }, + { 7, 10, 966 }, { 140, 10, 306 }, { 132, 11, 200 }, { 134, 0, 1334 }, + { 5, 10, 146 }, { 6, 10, 411 }, { 138, 10, 721 }, { 6, 0, 209 }, + { 6, 0, 1141 }, { 6, 0, 1288 }, { 8, 0, 468 }, { 9, 0, 210 }, + { 11, 0, 36 }, { 12, 0, 28 }, { 12, 0, 630 }, { 13, 0, 21 }, + { 13, 0, 349 }, { 14, 0, 7 }, { 145, 0, 13 }, { 6, 10, 177 }, + { 135, 10, 467 }, { 4, 0, 342 }, { 135, 0, 1179 }, { 10, 11, 454 }, + { 140, 11, 324 }, { 4, 0, 928 }, { 133, 0, 910 }, { 7, 0, 1838 }, + { 6, 11, 225 }, { 137, 11, 211 }, { 16, 0, 101 }, { 20, 0, 115 }, + { 20, 0, 118 }, { 148, 0, 122 }, { 4, 0, 496 }, { 135, 0, 856 }, + { 4, 0, 318 }, { 11, 0, 654 }, { 7, 11, 718 }, { 139, 11, 102 }, + { 8, 11, 58 }, { 9, 11, 724 }, { 11, 11, 809 }, { 13, 11, 113 }, + { 145, 11, 72 }, { 5, 10, 200 }, { 6, 11, 345 }, { 135, 11, 1247 }, + { 8, 11, 767 }, { 8, 11, 803 }, { 9, 11, 301 }, { 137, 11, 903 }, + { 7, 0, 915 }, { 8, 0, 247 }, { 19, 0, 0 }, { 7, 11, 1949 }, + { 136, 11, 674 }, { 4, 0, 202 }, { 5, 0, 382 }, { 6, 0, 454 }, + { 7, 0, 936 }, { 7, 0, 1803 }, { 8, 0, 758 }, { 9, 0, 375 }, + { 9, 0, 895 }, { 10, 0, 743 }, { 10, 0, 792 }, { 11, 0, 978 }, + { 11, 0, 1012 }, { 142, 0, 109 }, { 7, 0, 1150 }, { 7, 0, 1425 }, + { 7, 0, 1453 }, { 140, 0, 513 }, { 134, 11, 259 }, { 138, 0, 791 }, + { 11, 0, 821 }, { 12, 0, 110 }, { 12, 0, 153 }, { 18, 0, 41 }, + { 150, 0, 19 }, { 134, 10, 481 }, { 132, 0, 796 }, { 6, 0, 445 }, + { 9, 0, 909 }, { 136, 11, 254 }, { 10, 0, 776 }, { 13, 0, 345 }, + { 142, 0, 425 }, { 4, 10, 84 }, { 7, 10, 1482 }, { 10, 10, 76 }, + { 138, 10, 142 }, { 135, 11, 742 }, { 6, 0, 578 }, { 133, 10, 1015 }, + { 6, 0, 1387 }, { 4, 10, 315 }, { 5, 10, 507 }, { 135, 10, 1370 }, + { 4, 0, 438 }, { 133, 0, 555 }, { 136, 0, 766 }, { 133, 11, 248 }, + { 134, 10, 1722 }, { 4, 11, 116 }, { 5, 11, 95 }, { 5, 11, 445 }, + { 7, 11, 1688 }, { 8, 11, 29 }, { 9, 11, 272 }, { 11, 11, 509 }, + { 139, 11, 915 }, { 135, 0, 541 }, { 133, 11, 543 }, { 8, 10, 222 }, + { 8, 10, 476 }, { 9, 10, 238 }, { 11, 10, 516 }, { 11, 10, 575 }, + { 15, 10, 109 }, { 146, 10, 100 }, { 6, 0, 880 }, { 134, 0, 1191 }, + { 5, 11, 181 }, { 136, 11, 41 }, { 134, 0, 1506 }, { 132, 11, 681 }, + { 7, 11, 25 }, { 8, 11, 202 }, { 138, 11, 536 }, { 139, 0, 983 }, + { 137, 0, 768 }, { 132, 0, 584 }, { 9, 11, 423 }, { 140, 11, 89 }, + { 8, 11, 113 }, { 9, 11, 877 }, { 10, 11, 554 }, { 11, 11, 83 }, + { 12, 11, 136 }, { 147, 11, 109 }, { 7, 10, 706 }, { 7, 10, 1058 }, + { 138, 10, 538 }, { 133, 11, 976 }, { 4, 11, 206 }, { 135, 11, 746 }, + { 136, 11, 526 }, { 140, 0, 737 }, { 11, 10, 92 }, { 11, 10, 196 }, + { 11, 10, 409 }, { 11, 10, 450 }, { 11, 10, 666 }, { 11, 10, 777 }, + { 12, 10, 262 }, { 13, 10, 385 }, { 13, 10, 393 }, { 15, 10, 115 }, + { 16, 10, 45 }, { 145, 10, 82 }, { 4, 0, 226 }, { 4, 0, 326 }, + { 7, 0, 1770 }, { 4, 11, 319 }, { 5, 11, 699 }, { 138, 11, 673 }, + { 6, 10, 40 }, { 135, 10, 1781 }, { 5, 0, 426 }, { 8, 0, 30 }, + { 9, 0, 2 }, { 11, 0, 549 }, { 147, 0, 122 }, { 6, 0, 1161 }, + { 134, 0, 1329 }, { 138, 10, 97 }, { 6, 10, 423 }, { 7, 10, 665 }, + { 135, 10, 1210 }, { 7, 11, 13 }, { 8, 11, 226 }, { 10, 11, 537 }, + { 11, 11, 570 }, { 11, 11, 605 }, { 11, 11, 799 }, { 11, 11, 804 }, + { 12, 11, 85 }, { 12, 11, 516 }, { 12, 11, 623 }, { 13, 11, 112 }, + { 13, 11, 361 }, { 14, 11, 77 }, { 14, 11, 78 }, { 17, 11, 28 }, + { 147, 11, 110 }, { 132, 11, 769 }, { 132, 11, 551 }, { 132, 11, 728 }, + { 147, 0, 117 }, { 9, 11, 57 }, { 9, 11, 459 }, { 10, 11, 425 }, + { 11, 11, 119 }, { 12, 11, 184 }, { 12, 11, 371 }, { 13, 11, 358 }, + { 145, 11, 51 }, { 5, 11, 188 }, { 5, 11, 814 }, { 8, 11, 10 }, + { 9, 11, 421 }, { 9, 11, 729 }, { 10, 11, 609 }, { 139, 11, 689 }, + { 134, 11, 624 }, { 135, 11, 298 }, { 135, 0, 462 }, { 4, 0, 345 }, + { 139, 10, 624 }, { 136, 10, 574 }, { 4, 0, 385 }, { 7, 0, 265 }, + { 135, 0, 587 }, { 6, 0, 808 }, { 132, 11, 528 }, { 133, 0, 398 }, + { 132, 10, 354 }, { 4, 0, 347 }, { 5, 0, 423 }, { 5, 0, 996 }, + { 135, 0, 1329 }, { 135, 10, 1558 }, { 7, 0, 1259 }, { 9, 0, 125 }, + { 139, 0, 65 }, { 5, 0, 136 }, { 6, 0, 136 }, { 136, 0, 644 }, + { 5, 11, 104 }, { 6, 11, 173 }, { 135, 11, 1631 }, { 135, 0, 469 }, + { 133, 10, 830 }, { 4, 0, 278 }, { 5, 0, 465 }, { 135, 0, 1367 }, + { 7, 11, 810 }, { 8, 11, 138 }, { 8, 11, 342 }, { 9, 11, 84 }, + { 10, 11, 193 }, { 11, 11, 883 }, { 140, 11, 359 }, { 5, 10, 496 }, + { 135, 10, 203 }, { 4, 0, 433 }, { 133, 0, 719 }, { 6, 11, 95 }, + { 134, 10, 547 }, { 5, 10, 88 }, { 137, 10, 239 }, { 6, 11, 406 }, + { 10, 11, 409 }, { 10, 11, 447 }, { 11, 11, 44 }, { 140, 11, 100 }, + { 134, 0, 1423 }, { 7, 10, 650 }, { 135, 10, 1310 }, { 134, 0, 749 }, + { 135, 11, 1243 }, { 135, 0, 1363 }, { 6, 0, 381 }, { 7, 0, 645 }, + { 7, 0, 694 }, { 8, 0, 546 }, { 7, 10, 1076 }, { 9, 10, 80 }, + { 11, 10, 78 }, { 11, 10, 421 }, { 11, 10, 534 }, { 140, 10, 545 }, + { 134, 11, 1636 }, { 135, 11, 1344 }, { 12, 0, 277 }, { 7, 10, 274 }, + { 11, 10, 479 }, { 139, 10, 507 }, { 6, 0, 705 }, { 6, 0, 783 }, + { 6, 0, 1275 }, { 6, 0, 1481 }, { 4, 11, 282 }, { 7, 11, 1034 }, + { 11, 11, 398 }, { 11, 11, 634 }, { 12, 11, 1 }, { 12, 11, 79 }, + { 12, 11, 544 }, { 14, 11, 237 }, { 17, 11, 10 }, { 146, 11, 20 }, + { 134, 0, 453 }, { 4, 0, 555 }, { 8, 0, 536 }, { 10, 0, 288 }, + { 11, 0, 1005 }, { 4, 10, 497 }, { 135, 10, 1584 }, { 5, 11, 118 }, + { 5, 11, 499 }, { 6, 11, 476 }, { 7, 11, 600 }, { 7, 11, 888 }, + { 135, 11, 1096 }, { 138, 0, 987 }, { 7, 0, 1107 }, { 7, 10, 261 }, + { 7, 10, 1115 }, { 7, 10, 1354 }, { 7, 10, 1588 }, { 7, 10, 1705 }, + { 7, 10, 1902 }, { 9, 10, 465 }, { 10, 10, 248 }, { 10, 10, 349 }, + { 10, 10, 647 }, { 11, 10, 527 }, { 11, 10, 660 }, { 11, 10, 669 }, + { 12, 10, 529 }, { 141, 10, 305 }, { 7, 11, 296 }, { 7, 11, 596 }, + { 8, 11, 560 }, { 8, 11, 586 }, { 9, 11, 612 }, { 11, 11, 100 }, + { 11, 11, 304 }, { 12, 11, 46 }, { 13, 11, 89 }, { 14, 11, 112 }, + { 145, 11, 122 }, { 9, 0, 370 }, { 138, 0, 90 }, { 136, 10, 13 }, + { 132, 0, 860 }, { 7, 10, 642 }, { 8, 10, 250 }, { 11, 10, 123 }, + { 11, 10, 137 }, { 13, 10, 48 }, { 142, 10, 95 }, { 135, 10, 1429 }, + { 137, 11, 321 }, { 132, 0, 257 }, { 135, 0, 2031 }, { 7, 0, 1768 }, + { 7, 11, 1599 }, { 7, 11, 1723 }, { 8, 11, 79 }, { 8, 11, 106 }, + { 8, 11, 190 }, { 8, 11, 302 }, { 8, 11, 383 }, { 9, 11, 119 }, + { 9, 11, 233 }, { 9, 11, 298 }, { 9, 11, 419 }, { 9, 11, 471 }, + { 10, 11, 181 }, { 10, 11, 406 }, { 11, 11, 57 }, { 11, 11, 85 }, + { 11, 11, 120 }, { 11, 11, 177 }, { 11, 11, 296 }, { 11, 11, 382 }, + { 11, 11, 454 }, { 11, 11, 758 }, { 11, 11, 999 }, { 12, 11, 27 }, + { 12, 11, 98 }, { 12, 11, 131 }, { 12, 11, 245 }, { 12, 11, 312 }, + { 12, 11, 446 }, { 12, 11, 454 }, { 13, 11, 25 }, { 13, 11, 98 }, + { 13, 11, 426 }, { 13, 11, 508 }, { 14, 11, 6 }, { 14, 11, 163 }, + { 14, 11, 272 }, { 14, 11, 277 }, { 14, 11, 370 }, { 15, 11, 95 }, + { 15, 11, 138 }, { 15, 11, 167 }, { 17, 11, 18 }, { 17, 11, 38 }, + { 20, 11, 96 }, { 149, 11, 32 }, { 5, 11, 722 }, { 134, 11, 1759 }, + { 145, 11, 16 }, { 6, 0, 1071 }, { 134, 0, 1561 }, { 10, 10, 545 }, + { 140, 10, 301 }, { 6, 0, 83 }, { 6, 0, 1733 }, { 135, 0, 1389 }, + { 4, 0, 835 }, { 135, 0, 1818 }, { 133, 11, 258 }, { 4, 10, 904 }, + { 133, 10, 794 }, { 134, 0, 2006 }, { 5, 11, 30 }, { 7, 11, 495 }, + { 8, 11, 134 }, { 9, 11, 788 }, { 140, 11, 438 }, { 135, 11, 2004 }, + { 137, 0, 696 }, { 5, 11, 50 }, { 6, 11, 439 }, { 7, 11, 780 }, + { 135, 11, 1040 }, { 7, 11, 772 }, { 7, 11, 1104 }, { 7, 11, 1647 }, + { 11, 11, 269 }, { 11, 11, 539 }, { 11, 11, 607 }, { 11, 11, 627 }, + { 11, 11, 706 }, { 11, 11, 975 }, { 12, 11, 248 }, { 12, 11, 311 }, + { 12, 11, 434 }, { 12, 11, 600 }, { 12, 11, 622 }, { 13, 11, 297 }, + { 13, 11, 367 }, { 13, 11, 485 }, { 14, 11, 69 }, { 14, 11, 409 }, + { 143, 11, 108 }, { 5, 11, 1 }, { 6, 11, 81 }, { 138, 11, 520 }, + { 7, 0, 1718 }, { 9, 0, 95 }, { 9, 0, 274 }, { 10, 0, 279 }, + { 10, 0, 317 }, { 10, 0, 420 }, { 11, 0, 303 }, { 11, 0, 808 }, + { 12, 0, 134 }, { 12, 0, 367 }, { 13, 0, 149 }, { 13, 0, 347 }, + { 14, 0, 349 }, { 14, 0, 406 }, { 18, 0, 22 }, { 18, 0, 89 }, + { 18, 0, 122 }, { 147, 0, 47 }, { 5, 11, 482 }, { 8, 11, 98 }, + { 9, 11, 172 }, { 10, 11, 222 }, { 10, 11, 700 }, { 10, 11, 822 }, + { 11, 11, 302 }, { 11, 11, 778 }, { 12, 11, 50 }, { 12, 11, 127 }, + { 12, 11, 396 }, { 13, 11, 62 }, { 13, 11, 328 }, { 14, 11, 122 }, + { 147, 11, 72 }, { 7, 10, 386 }, { 138, 10, 713 }, { 6, 10, 7 }, + { 6, 10, 35 }, { 7, 10, 147 }, { 7, 10, 1069 }, { 7, 10, 1568 }, + { 7, 10, 1575 }, { 7, 10, 1917 }, { 8, 10, 43 }, { 8, 10, 208 }, + { 9, 10, 128 }, { 9, 10, 866 }, { 10, 10, 20 }, { 11, 10, 981 }, + { 147, 10, 33 }, { 133, 0, 26 }, { 132, 0, 550 }, { 5, 11, 2 }, + { 7, 11, 1494 }, { 136, 11, 589 }, { 6, 11, 512 }, { 7, 11, 797 }, + { 8, 11, 253 }, { 9, 11, 77 }, { 10, 11, 1 }, { 10, 11, 129 }, + { 10, 11, 225 }, { 11, 11, 118 }, { 11, 11, 226 }, { 11, 11, 251 }, + { 11, 11, 430 }, { 11, 11, 701 }, { 11, 11, 974 }, { 11, 11, 982 }, + { 12, 11, 64 }, { 12, 11, 260 }, { 12, 11, 488 }, { 140, 11, 690 }, + { 7, 10, 893 }, { 141, 10, 424 }, { 134, 0, 901 }, { 136, 0, 822 }, + { 4, 0, 902 }, { 5, 0, 809 }, { 134, 0, 122 }, { 6, 0, 807 }, + { 134, 0, 1366 }, { 7, 0, 262 }, { 5, 11, 748 }, { 134, 11, 553 }, + { 133, 0, 620 }, { 4, 0, 34 }, { 5, 0, 574 }, { 7, 0, 279 }, + { 7, 0, 1624 }, { 136, 0, 601 }, { 9, 0, 170 }, { 6, 10, 322 }, + { 9, 10, 552 }, { 11, 10, 274 }, { 13, 10, 209 }, { 13, 10, 499 }, + { 14, 10, 85 }, { 15, 10, 126 }, { 145, 10, 70 }, { 132, 0, 537 }, + { 4, 11, 12 }, { 7, 11, 420 }, { 7, 11, 522 }, { 7, 11, 809 }, + { 8, 11, 797 }, { 141, 11, 88 }, { 133, 0, 332 }, { 8, 10, 83 }, + { 8, 10, 742 }, { 8, 10, 817 }, { 9, 10, 28 }, { 9, 10, 29 }, + { 9, 10, 885 }, { 10, 10, 387 }, { 11, 10, 633 }, { 11, 10, 740 }, + { 13, 10, 235 }, { 13, 10, 254 }, { 15, 10, 143 }, { 143, 10, 146 }, + { 6, 0, 1909 }, { 9, 0, 964 }, { 12, 0, 822 }, { 12, 0, 854 }, + { 12, 0, 865 }, { 12, 0, 910 }, { 12, 0, 938 }, { 15, 0, 169 }, + { 15, 0, 208 }, { 15, 0, 211 }, { 18, 0, 205 }, { 18, 0, 206 }, + { 18, 0, 220 }, { 18, 0, 223 }, { 152, 0, 24 }, { 140, 10, 49 }, + { 5, 11, 528 }, { 135, 11, 1580 }, { 6, 0, 261 }, { 8, 0, 182 }, + { 139, 0, 943 }, { 134, 0, 1721 }, { 4, 0, 933 }, { 133, 0, 880 }, + { 136, 11, 321 }, { 5, 11, 266 }, { 9, 11, 290 }, { 9, 11, 364 }, + { 10, 11, 293 }, { 11, 11, 606 }, { 142, 11, 45 }, { 6, 0, 1609 }, + { 4, 11, 50 }, { 6, 11, 510 }, { 6, 11, 594 }, { 9, 11, 121 }, + { 10, 11, 49 }, { 10, 11, 412 }, { 139, 11, 834 }, { 7, 0, 895 }, + { 136, 11, 748 }, { 132, 11, 466 }, { 4, 10, 110 }, { 10, 10, 415 }, + { 10, 10, 597 }, { 142, 10, 206 }, { 133, 0, 812 }, { 135, 11, 281 }, + { 6, 0, 1890 }, { 6, 0, 1902 }, { 6, 0, 1916 }, { 9, 0, 929 }, + { 9, 0, 942 }, { 9, 0, 975 }, { 9, 0, 984 }, { 9, 0, 986 }, + { 9, 0, 1011 }, { 9, 0, 1019 }, { 12, 0, 804 }, { 12, 0, 851 }, + { 12, 0, 867 }, { 12, 0, 916 }, { 12, 0, 923 }, { 15, 0, 194 }, + { 15, 0, 204 }, { 15, 0, 210 }, { 15, 0, 222 }, { 15, 0, 223 }, + { 15, 0, 229 }, { 15, 0, 250 }, { 18, 0, 179 }, { 18, 0, 186 }, + { 18, 0, 192 }, { 7, 10, 205 }, { 135, 10, 2000 }, { 132, 11, 667 }, + { 135, 0, 778 }, { 4, 0, 137 }, { 7, 0, 1178 }, { 135, 0, 1520 }, + { 134, 0, 1314 }, { 4, 11, 242 }, { 134, 11, 333 }, { 6, 0, 1661 }, + { 7, 0, 1975 }, { 7, 0, 2009 }, { 135, 0, 2011 }, { 134, 0, 1591 }, + { 4, 10, 283 }, { 135, 10, 1194 }, { 11, 0, 820 }, { 150, 0, 51 }, + { 4, 11, 39 }, { 5, 11, 36 }, { 7, 11, 1843 }, { 8, 11, 407 }, + { 11, 11, 144 }, { 140, 11, 523 }, { 134, 10, 1720 }, { 4, 11, 510 }, + { 7, 11, 29 }, { 7, 11, 66 }, { 7, 11, 1980 }, { 10, 11, 487 }, + { 10, 11, 809 }, { 146, 11, 9 }, { 5, 0, 89 }, { 7, 0, 1915 }, + { 9, 0, 185 }, { 9, 0, 235 }, { 10, 0, 64 }, { 10, 0, 270 }, + { 10, 0, 403 }, { 10, 0, 469 }, { 10, 0, 529 }, { 10, 0, 590 }, + { 11, 0, 140 }, { 11, 0, 860 }, { 13, 0, 1 }, { 13, 0, 422 }, + { 14, 0, 341 }, { 14, 0, 364 }, { 17, 0, 93 }, { 18, 0, 113 }, + { 19, 0, 97 }, { 147, 0, 113 }, { 133, 0, 695 }, { 6, 0, 987 }, + { 134, 0, 1160 }, { 5, 0, 6 }, { 6, 0, 183 }, { 7, 0, 680 }, + { 7, 0, 978 }, { 7, 0, 1013 }, { 7, 0, 1055 }, { 12, 0, 230 }, + { 13, 0, 172 }, { 146, 0, 29 }, { 134, 11, 570 }, { 132, 11, 787 }, + { 134, 11, 518 }, { 6, 0, 29 }, { 139, 0, 63 }, { 132, 11, 516 }, + { 136, 11, 821 }, { 132, 0, 311 }, { 134, 0, 1740 }, { 7, 0, 170 }, + { 8, 0, 90 }, { 8, 0, 177 }, { 8, 0, 415 }, { 11, 0, 714 }, + { 14, 0, 281 }, { 136, 10, 735 }, { 134, 0, 1961 }, { 135, 11, 1405 }, + { 4, 11, 10 }, { 7, 11, 917 }, { 139, 11, 786 }, { 5, 10, 132 }, + { 9, 10, 486 }, { 9, 10, 715 }, { 10, 10, 458 }, { 11, 10, 373 }, + { 11, 10, 668 }, { 11, 10, 795 }, { 11, 10, 897 }, { 12, 10, 272 }, + { 12, 10, 424 }, { 12, 10, 539 }, { 12, 10, 558 }, { 14, 10, 245 }, + { 14, 10, 263 }, { 14, 10, 264 }, { 14, 10, 393 }, { 142, 10, 403 }, + { 11, 0, 91 }, { 13, 0, 129 }, { 15, 0, 101 }, { 145, 0, 125 }, + { 135, 0, 1132 }, { 4, 0, 494 }, { 6, 0, 74 }, { 7, 0, 44 }, + { 7, 0, 407 }, { 12, 0, 17 }, { 15, 0, 5 }, { 148, 0, 11 }, + { 133, 10, 379 }, { 5, 0, 270 }, { 5, 11, 684 }, { 6, 10, 89 }, + { 6, 10, 400 }, { 7, 10, 1569 }, { 7, 10, 1623 }, { 7, 10, 1850 }, + { 8, 10, 218 }, { 8, 10, 422 }, { 9, 10, 570 }, { 138, 10, 626 }, + { 4, 0, 276 }, { 133, 0, 296 }, { 6, 0, 1523 }, { 134, 11, 27 }, + { 6, 10, 387 }, { 7, 10, 882 }, { 141, 10, 111 }, { 6, 10, 224 }, + { 7, 10, 877 }, { 137, 10, 647 }, { 135, 10, 790 }, { 4, 0, 7 }, + { 5, 0, 90 }, { 5, 0, 158 }, { 6, 0, 542 }, { 7, 0, 221 }, + { 7, 0, 1574 }, { 9, 0, 490 }, { 10, 0, 540 }, { 11, 0, 443 }, + { 139, 0, 757 }, { 7, 0, 588 }, { 9, 0, 175 }, { 138, 0, 530 }, + { 135, 10, 394 }, { 142, 11, 23 }, { 134, 0, 786 }, { 135, 0, 580 }, + { 7, 0, 88 }, { 136, 0, 627 }, { 5, 0, 872 }, { 6, 0, 57 }, + { 7, 0, 471 }, { 9, 0, 447 }, { 137, 0, 454 }, { 6, 11, 342 }, + { 6, 11, 496 }, { 8, 11, 275 }, { 137, 11, 206 }, { 4, 11, 909 }, + { 133, 11, 940 }, { 6, 0, 735 }, { 132, 11, 891 }, { 8, 0, 845 }, + { 8, 0, 916 }, { 135, 10, 1409 }, { 5, 0, 31 }, { 134, 0, 614 }, + { 11, 0, 458 }, { 12, 0, 15 }, { 140, 0, 432 }, { 8, 0, 330 }, + { 140, 0, 477 }, { 4, 0, 530 }, { 5, 0, 521 }, { 7, 0, 1200 }, + { 10, 0, 460 }, { 132, 11, 687 }, { 6, 0, 424 }, { 135, 0, 1866 }, + { 9, 0, 569 }, { 12, 0, 12 }, { 12, 0, 81 }, { 12, 0, 319 }, + { 13, 0, 69 }, { 14, 0, 259 }, { 16, 0, 87 }, { 17, 0, 1 }, + { 17, 0, 21 }, { 17, 0, 24 }, { 18, 0, 15 }, { 18, 0, 56 }, + { 18, 0, 59 }, { 18, 0, 127 }, { 18, 0, 154 }, { 19, 0, 19 }, + { 148, 0, 31 }, { 7, 0, 1302 }, { 136, 10, 38 }, { 134, 11, 253 }, + { 5, 10, 261 }, { 7, 10, 78 }, { 7, 10, 199 }, { 8, 10, 815 }, + { 9, 10, 126 }, { 138, 10, 342 }, { 5, 0, 595 }, { 135, 0, 1863 }, + { 6, 11, 41 }, { 141, 11, 160 }, { 5, 0, 13 }, { 134, 0, 142 }, + { 6, 0, 97 }, { 7, 0, 116 }, { 8, 0, 322 }, { 8, 0, 755 }, + { 9, 0, 548 }, { 10, 0, 714 }, { 11, 0, 884 }, { 13, 0, 324 }, + { 7, 11, 1304 }, { 138, 11, 477 }, { 132, 10, 628 }, { 134, 11, 1718 }, + { 7, 10, 266 }, { 136, 10, 804 }, { 135, 10, 208 }, { 7, 0, 1021 }, + { 6, 10, 79 }, { 135, 10, 1519 }, { 7, 0, 1472 }, { 135, 0, 1554 }, + { 6, 11, 362 }, { 146, 11, 51 }, { 7, 0, 1071 }, { 7, 0, 1541 }, + { 7, 0, 1767 }, { 7, 0, 1806 }, { 11, 0, 162 }, { 11, 0, 242 }, + { 11, 0, 452 }, { 12, 0, 605 }, { 15, 0, 26 }, { 144, 0, 44 }, + { 136, 10, 741 }, { 133, 11, 115 }, { 145, 0, 115 }, { 134, 10, 376 }, + { 6, 0, 1406 }, { 134, 0, 1543 }, { 5, 11, 193 }, { 12, 11, 178 }, + { 13, 11, 130 }, { 145, 11, 84 }, { 135, 0, 1111 }, { 8, 0, 1 }, + { 9, 0, 650 }, { 10, 0, 326 }, { 5, 11, 705 }, { 137, 11, 606 }, + { 5, 0, 488 }, { 6, 0, 527 }, { 7, 0, 489 }, { 7, 0, 1636 }, + { 8, 0, 121 }, { 8, 0, 144 }, { 8, 0, 359 }, { 9, 0, 193 }, + { 9, 0, 241 }, { 9, 0, 336 }, { 9, 0, 882 }, { 11, 0, 266 }, + { 11, 0, 372 }, { 11, 0, 944 }, { 12, 0, 401 }, { 140, 0, 641 }, + { 135, 11, 174 }, { 6, 0, 267 }, { 7, 10, 244 }, { 7, 10, 632 }, + { 7, 10, 1609 }, { 8, 10, 178 }, { 8, 10, 638 }, { 141, 10, 58 }, + { 134, 0, 1983 }, { 134, 0, 1155 }, { 134, 0, 1575 }, { 134, 0, 1438 }, + { 9, 0, 31 }, { 10, 0, 244 }, { 10, 0, 699 }, { 12, 0, 149 }, + { 141, 0, 497 }, { 133, 0, 377 }, { 4, 11, 122 }, { 5, 11, 796 }, + { 5, 11, 952 }, { 6, 11, 1660 }, { 6, 11, 1671 }, { 8, 11, 567 }, + { 9, 11, 687 }, { 9, 11, 742 }, { 10, 11, 686 }, { 11, 11, 356 }, + { 11, 11, 682 }, { 140, 11, 281 }, { 145, 0, 101 }, { 11, 11, 0 }, + { 144, 11, 78 }, { 5, 11, 179 }, { 5, 10, 791 }, { 7, 11, 1095 }, + { 135, 11, 1213 }, { 8, 11, 372 }, { 9, 11, 122 }, { 138, 11, 175 }, + { 7, 10, 686 }, { 8, 10, 33 }, { 8, 10, 238 }, { 10, 10, 616 }, + { 11, 10, 467 }, { 11, 10, 881 }, { 13, 10, 217 }, { 13, 10, 253 }, + { 142, 10, 268 }, { 9, 0, 476 }, { 4, 11, 66 }, { 7, 11, 722 }, + { 135, 11, 904 }, { 7, 11, 352 }, { 137, 11, 684 }, { 135, 0, 2023 }, + { 135, 0, 1836 }, { 132, 10, 447 }, { 5, 0, 843 }, { 144, 0, 35 }, + { 137, 11, 779 }, { 141, 11, 35 }, { 4, 10, 128 }, { 5, 10, 415 }, + { 6, 10, 462 }, { 7, 10, 294 }, { 7, 10, 578 }, { 10, 10, 710 }, + { 139, 10, 86 }, { 132, 0, 554 }, { 133, 0, 536 }, { 136, 10, 587 }, + { 5, 0, 207 }, { 9, 0, 79 }, { 11, 0, 625 }, { 145, 0, 7 }, + { 7, 0, 1371 }, { 6, 10, 427 }, { 138, 10, 692 }, { 4, 0, 424 }, + { 4, 10, 195 }, { 135, 10, 802 }, { 8, 0, 785 }, { 133, 11, 564 }, + { 135, 0, 336 }, { 4, 0, 896 }, { 6, 0, 1777 }, { 134, 11, 556 }, + { 137, 11, 103 }, { 134, 10, 1683 }, { 7, 11, 544 }, { 8, 11, 719 }, + { 138, 11, 61 }, { 138, 10, 472 }, { 4, 11, 5 }, { 5, 11, 498 }, + { 136, 11, 637 }, { 7, 0, 750 }, { 9, 0, 223 }, { 11, 0, 27 }, + { 11, 0, 466 }, { 12, 0, 624 }, { 14, 0, 265 }, { 146, 0, 61 }, + { 12, 0, 238 }, { 18, 0, 155 }, { 12, 11, 238 }, { 146, 11, 155 }, + { 151, 10, 28 }, { 133, 11, 927 }, { 12, 0, 383 }, { 5, 10, 3 }, + { 8, 10, 578 }, { 9, 10, 118 }, { 10, 10, 705 }, { 141, 10, 279 }, + { 4, 11, 893 }, { 5, 11, 780 }, { 133, 11, 893 }, { 4, 0, 603 }, + { 133, 0, 661 }, { 4, 0, 11 }, { 6, 0, 128 }, { 7, 0, 231 }, + { 7, 0, 1533 }, { 10, 0, 725 }, { 5, 10, 229 }, { 5, 11, 238 }, + { 135, 11, 1350 }, { 8, 10, 102 }, { 10, 10, 578 }, { 10, 10, 672 }, + { 12, 10, 496 }, { 13, 10, 408 }, { 14, 10, 121 }, { 145, 10, 106 }, + { 132, 0, 476 }, { 134, 0, 1552 }, { 134, 11, 1729 }, { 8, 10, 115 }, + { 8, 10, 350 }, { 9, 10, 489 }, { 10, 10, 128 }, { 11, 10, 306 }, + { 12, 10, 373 }, { 14, 10, 30 }, { 17, 10, 79 }, { 19, 10, 80 }, + { 150, 10, 55 }, { 135, 0, 1807 }, { 4, 0, 680 }, { 4, 11, 60 }, + { 7, 11, 760 }, { 7, 11, 1800 }, { 8, 11, 314 }, { 9, 11, 700 }, + { 139, 11, 487 }, { 4, 10, 230 }, { 5, 10, 702 }, { 148, 11, 94 }, + { 132, 11, 228 }, { 139, 0, 435 }, { 9, 0, 20 }, { 10, 0, 324 }, + { 10, 0, 807 }, { 139, 0, 488 }, { 6, 10, 1728 }, { 136, 11, 419 }, + { 4, 10, 484 }, { 18, 10, 26 }, { 19, 10, 42 }, { 20, 10, 43 }, + { 21, 10, 0 }, { 23, 10, 27 }, { 152, 10, 14 }, { 135, 0, 1431 }, + { 133, 11, 828 }, { 5, 0, 112 }, { 6, 0, 103 }, { 6, 0, 150 }, + { 7, 0, 1303 }, { 9, 0, 292 }, { 10, 0, 481 }, { 20, 0, 13 }, + { 7, 11, 176 }, { 7, 11, 178 }, { 7, 11, 1110 }, { 10, 11, 481 }, + { 148, 11, 13 }, { 138, 0, 356 }, { 4, 11, 51 }, { 5, 11, 39 }, + { 6, 11, 4 }, { 7, 11, 591 }, { 7, 11, 849 }, { 7, 11, 951 }, + { 7, 11, 1129 }, { 7, 11, 1613 }, { 7, 11, 1760 }, { 7, 11, 1988 }, + { 9, 11, 434 }, { 10, 11, 754 }, { 11, 11, 25 }, { 11, 11, 37 }, + { 139, 11, 414 }, { 6, 0, 1963 }, { 134, 0, 2000 }, { 132, 10, 633 }, + { 6, 0, 1244 }, { 133, 11, 902 }, { 135, 11, 928 }, { 140, 0, 18 }, + { 138, 0, 204 }, { 135, 11, 1173 }, { 134, 0, 867 }, { 4, 0, 708 }, + { 8, 0, 15 }, { 9, 0, 50 }, { 9, 0, 386 }, { 11, 0, 18 }, + { 11, 0, 529 }, { 140, 0, 228 }, { 134, 11, 270 }, { 4, 0, 563 }, + { 7, 0, 109 }, { 7, 0, 592 }, { 7, 0, 637 }, { 7, 0, 770 }, + { 8, 0, 463 }, { 9, 0, 60 }, { 9, 0, 335 }, { 9, 0, 904 }, + { 10, 0, 73 }, { 11, 0, 434 }, { 12, 0, 585 }, { 13, 0, 331 }, + { 18, 0, 110 }, { 148, 0, 60 }, { 132, 0, 502 }, { 14, 11, 359 }, + { 19, 11, 52 }, { 148, 11, 47 }, { 6, 11, 377 }, { 7, 11, 1025 }, + { 9, 11, 613 }, { 145, 11, 104 }, { 6, 0, 347 }, { 10, 0, 161 }, + { 5, 10, 70 }, { 5, 10, 622 }, { 6, 10, 334 }, { 7, 10, 1032 }, + { 9, 10, 171 }, { 11, 10, 26 }, { 11, 10, 213 }, { 11, 10, 637 }, + { 11, 10, 707 }, { 12, 10, 202 }, { 12, 10, 380 }, { 13, 10, 226 }, + { 13, 10, 355 }, { 14, 10, 222 }, { 145, 10, 42 }, { 132, 11, 416 }, + { 4, 0, 33 }, { 5, 0, 102 }, { 6, 0, 284 }, { 7, 0, 1079 }, + { 7, 0, 1423 }, { 7, 0, 1702 }, { 8, 0, 470 }, { 9, 0, 554 }, + { 9, 0, 723 }, { 11, 0, 333 }, { 142, 11, 372 }, { 5, 11, 152 }, + { 5, 11, 197 }, { 7, 11, 340 }, { 7, 11, 867 }, { 10, 11, 548 }, + { 10, 11, 581 }, { 11, 11, 6 }, { 12, 11, 3 }, { 12, 11, 19 }, + { 14, 11, 110 }, { 142, 11, 289 }, { 7, 0, 246 }, { 135, 0, 840 }, + { 6, 0, 10 }, { 8, 0, 571 }, { 9, 0, 739 }, { 143, 0, 91 }, + { 6, 0, 465 }, { 7, 0, 1465 }, { 4, 10, 23 }, { 4, 10, 141 }, + { 5, 10, 313 }, { 5, 10, 1014 }, { 6, 10, 50 }, { 7, 10, 142 }, + { 7, 10, 559 }, { 8, 10, 640 }, { 9, 10, 460 }, { 9, 10, 783 }, + { 11, 10, 741 }, { 12, 10, 183 }, { 141, 10, 488 }, { 133, 0, 626 }, + { 136, 0, 614 }, { 138, 0, 237 }, { 7, 11, 34 }, { 7, 11, 190 }, + { 8, 11, 28 }, { 8, 11, 141 }, { 8, 11, 444 }, { 8, 11, 811 }, + { 9, 11, 468 }, { 11, 11, 334 }, { 12, 11, 24 }, { 12, 11, 386 }, + { 140, 11, 576 }, { 133, 11, 757 }, { 5, 0, 18 }, { 6, 0, 526 }, + { 13, 0, 24 }, { 13, 0, 110 }, { 19, 0, 5 }, { 147, 0, 44 }, + { 6, 0, 506 }, { 134, 11, 506 }, { 135, 11, 1553 }, { 4, 0, 309 }, + { 5, 0, 462 }, { 7, 0, 970 }, { 7, 0, 1097 }, { 22, 0, 30 }, + { 22, 0, 33 }, { 7, 11, 1385 }, { 11, 11, 582 }, { 11, 11, 650 }, + { 11, 11, 901 }, { 11, 11, 949 }, { 12, 11, 232 }, { 12, 11, 236 }, + { 13, 11, 413 }, { 13, 11, 501 }, { 146, 11, 116 }, { 9, 0, 140 }, + { 5, 10, 222 }, { 138, 10, 534 }, { 6, 0, 1056 }, { 137, 10, 906 }, + { 134, 0, 1704 }, { 138, 10, 503 }, { 134, 0, 1036 }, { 5, 10, 154 }, + { 7, 10, 1491 }, { 10, 10, 379 }, { 138, 10, 485 }, { 4, 11, 383 }, + { 133, 10, 716 }, { 134, 0, 1315 }, { 5, 0, 86 }, { 7, 0, 743 }, + { 9, 0, 85 }, { 10, 0, 281 }, { 10, 0, 432 }, { 11, 0, 825 }, + { 12, 0, 251 }, { 13, 0, 118 }, { 142, 0, 378 }, { 8, 0, 264 }, + { 4, 10, 91 }, { 5, 10, 388 }, { 5, 10, 845 }, { 6, 10, 206 }, + { 6, 10, 252 }, { 6, 10, 365 }, { 7, 10, 136 }, { 7, 10, 531 }, + { 136, 10, 621 }, { 5, 0, 524 }, { 133, 0, 744 }, { 5, 11, 277 }, + { 141, 11, 247 }, { 132, 11, 435 }, { 10, 0, 107 }, { 140, 0, 436 }, + { 132, 0, 927 }, { 10, 0, 123 }, { 12, 0, 670 }, { 146, 0, 94 }, + { 7, 0, 1149 }, { 9, 0, 156 }, { 138, 0, 957 }, { 5, 11, 265 }, + { 6, 11, 212 }, { 135, 11, 28 }, { 133, 0, 778 }, { 133, 0, 502 }, + { 8, 0, 196 }, { 10, 0, 283 }, { 139, 0, 406 }, { 135, 10, 576 }, + { 136, 11, 535 }, { 134, 0, 1312 }, { 5, 10, 771 }, { 5, 10, 863 }, + { 5, 10, 898 }, { 6, 10, 1632 }, { 6, 10, 1644 }, { 134, 10, 1780 }, + { 5, 0, 855 }, { 5, 10, 331 }, { 135, 11, 1487 }, { 132, 11, 702 }, + { 5, 11, 808 }, { 135, 11, 2045 }, { 7, 0, 1400 }, { 9, 0, 446 }, + { 138, 0, 45 }, { 140, 10, 632 }, { 132, 0, 1003 }, { 5, 11, 166 }, + { 8, 11, 739 }, { 140, 11, 511 }, { 5, 10, 107 }, { 7, 10, 201 }, + { 136, 10, 518 }, { 6, 10, 446 }, { 135, 10, 1817 }, { 134, 0, 1532 }, + { 134, 0, 1097 }, { 4, 11, 119 }, { 5, 11, 170 }, { 5, 11, 447 }, + { 7, 11, 1708 }, { 7, 11, 1889 }, { 9, 11, 357 }, { 9, 11, 719 }, + { 12, 11, 486 }, { 140, 11, 596 }, { 9, 10, 851 }, { 141, 10, 510 }, + { 7, 0, 612 }, { 8, 0, 545 }, { 8, 0, 568 }, { 8, 0, 642 }, + { 9, 0, 717 }, { 10, 0, 541 }, { 10, 0, 763 }, { 11, 0, 449 }, + { 12, 0, 489 }, { 13, 0, 153 }, { 13, 0, 296 }, { 14, 0, 138 }, + { 14, 0, 392 }, { 15, 0, 50 }, { 16, 0, 6 }, { 16, 0, 12 }, + { 20, 0, 9 }, { 132, 10, 504 }, { 4, 11, 450 }, { 135, 11, 1158 }, + { 11, 0, 54 }, { 13, 0, 173 }, { 13, 0, 294 }, { 5, 10, 883 }, + { 5, 10, 975 }, { 8, 10, 392 }, { 148, 10, 7 }, { 13, 0, 455 }, + { 15, 0, 99 }, { 15, 0, 129 }, { 144, 0, 68 }, { 135, 0, 172 }, + { 132, 11, 754 }, { 5, 10, 922 }, { 134, 10, 1707 }, { 134, 0, 1029 }, + { 17, 11, 39 }, { 148, 11, 36 }, { 4, 0, 568 }, { 5, 10, 993 }, + { 7, 10, 515 }, { 137, 10, 91 }, { 132, 0, 732 }, { 10, 0, 617 }, + { 138, 11, 617 }, { 134, 0, 974 }, { 7, 0, 989 }, { 10, 0, 377 }, + { 12, 0, 363 }, { 13, 0, 68 }, { 13, 0, 94 }, { 14, 0, 108 }, + { 142, 0, 306 }, { 136, 0, 733 }, { 132, 0, 428 }, { 7, 0, 1789 }, + { 135, 11, 1062 }, { 7, 0, 2015 }, { 140, 0, 665 }, { 135, 10, 1433 }, + { 5, 0, 287 }, { 7, 10, 921 }, { 8, 10, 580 }, { 8, 10, 593 }, + { 8, 10, 630 }, { 138, 10, 28 }, { 138, 0, 806 }, { 4, 10, 911 }, + { 5, 10, 867 }, { 5, 10, 1013 }, { 7, 10, 2034 }, { 8, 10, 798 }, + { 136, 10, 813 }, { 134, 0, 1539 }, { 8, 11, 523 }, { 150, 11, 34 }, + { 135, 11, 740 }, { 7, 11, 238 }, { 7, 11, 2033 }, { 8, 11, 120 }, + { 8, 11, 188 }, { 8, 11, 659 }, { 9, 11, 598 }, { 10, 11, 466 }, + { 12, 11, 342 }, { 12, 11, 588 }, { 13, 11, 503 }, { 14, 11, 246 }, + { 143, 11, 92 }, { 7, 0, 1563 }, { 141, 0, 182 }, { 5, 10, 135 }, + { 6, 10, 519 }, { 7, 10, 1722 }, { 10, 10, 271 }, { 11, 10, 261 }, + { 145, 10, 54 }, { 14, 10, 338 }, { 148, 10, 81 }, { 7, 0, 484 }, + { 4, 10, 300 }, { 133, 10, 436 }, { 145, 11, 114 }, { 6, 0, 1623 }, + { 134, 0, 1681 }, { 133, 11, 640 }, { 4, 11, 201 }, { 7, 11, 1744 }, + { 8, 11, 602 }, { 11, 11, 247 }, { 11, 11, 826 }, { 145, 11, 65 }, + { 8, 11, 164 }, { 146, 11, 62 }, { 6, 0, 1833 }, { 6, 0, 1861 }, + { 136, 0, 878 }, { 134, 0, 1569 }, { 8, 10, 357 }, { 10, 10, 745 }, + { 14, 10, 426 }, { 17, 10, 94 }, { 147, 10, 57 }, { 12, 0, 93 }, + { 12, 0, 501 }, { 13, 0, 362 }, { 14, 0, 151 }, { 15, 0, 40 }, + { 15, 0, 59 }, { 16, 0, 46 }, { 17, 0, 25 }, { 18, 0, 14 }, + { 18, 0, 134 }, { 19, 0, 25 }, { 19, 0, 69 }, { 20, 0, 16 }, + { 20, 0, 19 }, { 20, 0, 66 }, { 21, 0, 23 }, { 21, 0, 25 }, + { 150, 0, 42 }, { 6, 0, 1748 }, { 8, 0, 715 }, { 9, 0, 802 }, + { 10, 0, 46 }, { 10, 0, 819 }, { 13, 0, 308 }, { 14, 0, 351 }, + { 14, 0, 363 }, { 146, 0, 67 }, { 132, 0, 994 }, { 4, 0, 63 }, + { 133, 0, 347 }, { 132, 0, 591 }, { 133, 0, 749 }, { 7, 11, 1577 }, + { 10, 11, 304 }, { 10, 11, 549 }, { 11, 11, 424 }, { 12, 11, 365 }, + { 13, 11, 220 }, { 13, 11, 240 }, { 142, 11, 33 }, { 133, 0, 366 }, + { 7, 0, 557 }, { 12, 0, 547 }, { 14, 0, 86 }, { 133, 10, 387 }, + { 135, 0, 1747 }, { 132, 11, 907 }, { 5, 11, 100 }, { 10, 11, 329 }, + { 12, 11, 416 }, { 149, 11, 29 }, { 4, 10, 6 }, { 5, 10, 708 }, + { 136, 10, 75 }, { 7, 10, 1351 }, { 9, 10, 581 }, { 10, 10, 639 }, + { 11, 10, 453 }, { 140, 10, 584 }, { 7, 0, 89 }, { 132, 10, 303 }, + { 138, 10, 772 }, { 132, 11, 176 }, { 5, 11, 636 }, { 5, 11, 998 }, + { 8, 11, 26 }, { 137, 11, 358 }, { 7, 11, 9 }, { 7, 11, 1508 }, + { 9, 11, 317 }, { 10, 11, 210 }, { 10, 11, 292 }, { 10, 11, 533 }, + { 11, 11, 555 }, { 12, 11, 526 }, { 12, 11, 607 }, { 13, 11, 263 }, + { 13, 11, 459 }, { 142, 11, 271 }, { 134, 0, 1463 }, { 6, 0, 772 }, + { 6, 0, 1137 }, { 139, 11, 595 }, { 7, 0, 977 }, { 139, 11, 66 }, + { 138, 0, 893 }, { 20, 0, 48 }, { 148, 11, 48 }, { 5, 0, 824 }, + { 133, 0, 941 }, { 134, 11, 295 }, { 7, 0, 1543 }, { 7, 0, 1785 }, + { 10, 0, 690 }, { 4, 10, 106 }, { 139, 10, 717 }, { 7, 0, 440 }, + { 8, 0, 230 }, { 139, 0, 106 }, { 5, 10, 890 }, { 133, 10, 988 }, + { 6, 10, 626 }, { 142, 10, 431 }, { 10, 11, 127 }, { 141, 11, 27 }, + { 17, 0, 32 }, { 10, 10, 706 }, { 150, 10, 44 }, { 132, 0, 216 }, + { 137, 0, 332 }, { 4, 10, 698 }, { 136, 11, 119 }, { 139, 11, 267 }, + { 138, 10, 17 }, { 11, 11, 526 }, { 11, 11, 939 }, { 141, 11, 290 }, + { 7, 11, 1167 }, { 11, 11, 934 }, { 13, 11, 391 }, { 145, 11, 76 }, + { 139, 11, 39 }, { 134, 10, 84 }, { 4, 0, 914 }, { 5, 0, 800 }, + { 133, 0, 852 }, { 10, 0, 416 }, { 141, 0, 115 }, { 7, 0, 564 }, + { 142, 0, 168 }, { 4, 0, 918 }, { 133, 0, 876 }, { 134, 0, 1764 }, + { 152, 0, 3 }, { 4, 0, 92 }, { 5, 0, 274 }, { 7, 11, 126 }, + { 136, 11, 84 }, { 140, 10, 498 }, { 136, 11, 790 }, { 8, 0, 501 }, + { 5, 10, 986 }, { 6, 10, 130 }, { 7, 10, 1582 }, { 8, 10, 458 }, + { 10, 10, 101 }, { 10, 10, 318 }, { 138, 10, 823 }, { 6, 11, 64 }, + { 12, 11, 377 }, { 141, 11, 309 }, { 5, 0, 743 }, { 138, 0, 851 }, + { 4, 0, 49 }, { 7, 0, 280 }, { 135, 0, 1633 }, { 134, 0, 879 }, + { 136, 0, 47 }, { 7, 10, 1644 }, { 137, 10, 129 }, { 132, 0, 865 }, + { 134, 0, 1202 }, { 9, 11, 34 }, { 139, 11, 484 }, { 135, 10, 997 }, + { 5, 0, 272 }, { 5, 0, 908 }, { 5, 0, 942 }, { 8, 0, 197 }, + { 9, 0, 47 }, { 11, 0, 538 }, { 139, 0, 742 }, { 6, 11, 1700 }, + { 7, 11, 26 }, { 7, 11, 293 }, { 7, 11, 382 }, { 7, 11, 1026 }, + { 7, 11, 1087 }, { 7, 11, 2027 }, { 8, 11, 24 }, { 8, 11, 114 }, + { 8, 11, 252 }, { 8, 11, 727 }, { 8, 11, 729 }, { 9, 11, 30 }, + { 9, 11, 199 }, { 9, 11, 231 }, { 9, 11, 251 }, { 9, 11, 334 }, + { 9, 11, 361 }, { 9, 11, 488 }, { 9, 11, 712 }, { 10, 11, 55 }, + { 10, 11, 60 }, { 10, 11, 232 }, { 10, 11, 332 }, { 10, 11, 384 }, + { 10, 11, 396 }, { 10, 11, 504 }, { 10, 11, 542 }, { 10, 11, 652 }, + { 11, 11, 20 }, { 11, 11, 48 }, { 11, 11, 207 }, { 11, 11, 291 }, + { 11, 11, 298 }, { 11, 11, 342 }, { 11, 11, 365 }, { 11, 11, 394 }, + { 11, 11, 620 }, { 11, 11, 705 }, { 11, 11, 1017 }, { 12, 11, 123 }, + { 12, 11, 340 }, { 12, 11, 406 }, { 12, 11, 643 }, { 13, 11, 61 }, + { 13, 11, 269 }, { 13, 11, 311 }, { 13, 11, 319 }, { 13, 11, 486 }, + { 14, 11, 234 }, { 15, 11, 62 }, { 15, 11, 85 }, { 16, 11, 71 }, + { 18, 11, 119 }, { 148, 11, 105 }, { 6, 0, 1455 }, { 150, 11, 37 }, + { 135, 10, 1927 }, { 135, 0, 1911 }, { 137, 0, 891 }, { 7, 10, 1756 }, + { 137, 10, 98 }, { 7, 10, 1046 }, { 139, 10, 160 }, { 132, 0, 761 }, + { 6, 11, 379 }, { 7, 11, 270 }, { 7, 11, 1116 }, { 8, 11, 176 }, + { 8, 11, 183 }, { 9, 11, 432 }, { 9, 11, 661 }, { 12, 11, 247 }, + { 12, 11, 617 }, { 146, 11, 125 }, { 6, 10, 45 }, { 7, 10, 433 }, + { 8, 10, 129 }, { 9, 10, 21 }, { 10, 10, 392 }, { 11, 10, 79 }, + { 12, 10, 499 }, { 13, 10, 199 }, { 141, 10, 451 }, { 4, 0, 407 }, + { 5, 11, 792 }, { 133, 11, 900 }, { 132, 0, 560 }, { 135, 0, 183 }, + { 13, 0, 490 }, { 7, 10, 558 }, { 136, 10, 353 }, { 4, 0, 475 }, + { 6, 0, 731 }, { 11, 0, 35 }, { 13, 0, 71 }, { 13, 0, 177 }, + { 14, 0, 422 }, { 133, 10, 785 }, { 8, 10, 81 }, { 9, 10, 189 }, + { 9, 10, 201 }, { 11, 10, 478 }, { 11, 10, 712 }, { 141, 10, 338 }, + { 4, 0, 418 }, { 4, 0, 819 }, { 133, 10, 353 }, { 151, 10, 26 }, + { 4, 11, 901 }, { 133, 11, 776 }, { 132, 0, 575 }, { 7, 0, 818 }, + { 16, 0, 92 }, { 17, 0, 14 }, { 17, 0, 45 }, { 18, 0, 75 }, + { 148, 0, 18 }, { 6, 0, 222 }, { 7, 0, 636 }, { 7, 0, 1620 }, + { 8, 0, 409 }, { 9, 0, 693 }, { 139, 0, 77 }, { 6, 10, 25 }, + { 7, 10, 855 }, { 7, 10, 1258 }, { 144, 10, 32 }, { 6, 0, 1880 }, + { 6, 0, 1887 }, { 6, 0, 1918 }, { 6, 0, 1924 }, { 9, 0, 967 }, + { 9, 0, 995 }, { 9, 0, 1015 }, { 12, 0, 826 }, { 12, 0, 849 }, + { 12, 0, 857 }, { 12, 0, 860 }, { 12, 0, 886 }, { 12, 0, 932 }, + { 18, 0, 228 }, { 18, 0, 231 }, { 146, 0, 240 }, { 134, 0, 633 }, + { 134, 0, 1308 }, { 4, 11, 37 }, { 5, 11, 334 }, { 135, 11, 1253 }, + { 10, 0, 86 }, { 4, 10, 4 }, { 7, 10, 1118 }, { 7, 10, 1320 }, + { 7, 10, 1706 }, { 8, 10, 277 }, { 9, 10, 622 }, { 11, 10, 724 }, + { 12, 10, 350 }, { 12, 10, 397 }, { 13, 10, 28 }, { 13, 10, 159 }, + { 15, 10, 89 }, { 18, 10, 5 }, { 19, 10, 9 }, { 20, 10, 34 }, + { 150, 10, 47 }, { 132, 11, 508 }, { 137, 11, 448 }, { 12, 11, 107 }, + { 146, 11, 31 }, { 132, 0, 817 }, { 134, 0, 663 }, { 133, 0, 882 }, + { 134, 0, 914 }, { 132, 11, 540 }, { 132, 11, 533 }, { 136, 11, 608 }, + { 8, 0, 885 }, { 138, 0, 865 }, { 132, 0, 426 }, { 6, 0, 58 }, + { 7, 0, 745 }, { 7, 0, 1969 }, { 8, 0, 399 }, { 8, 0, 675 }, + { 9, 0, 479 }, { 9, 0, 731 }, { 10, 0, 330 }, { 10, 0, 593 }, + { 10, 0, 817 }, { 11, 0, 32 }, { 11, 0, 133 }, { 11, 0, 221 }, + { 145, 0, 68 }, { 134, 10, 255 }, { 7, 0, 102 }, { 137, 0, 538 }, + { 137, 10, 216 }, { 7, 11, 253 }, { 136, 11, 549 }, { 135, 11, 912 }, + { 9, 10, 183 }, { 139, 10, 286 }, { 11, 10, 956 }, { 151, 10, 3 }, + { 8, 11, 527 }, { 18, 11, 60 }, { 147, 11, 24 }, { 4, 10, 536 }, + { 7, 10, 1141 }, { 10, 10, 723 }, { 139, 10, 371 }, { 133, 11, 920 }, + { 7, 0, 876 }, { 135, 10, 285 }, { 135, 10, 560 }, { 132, 10, 690 }, + { 142, 11, 126 }, { 11, 10, 33 }, { 12, 10, 571 }, { 149, 10, 1 }, + { 133, 0, 566 }, { 9, 0, 139 }, { 10, 0, 399 }, { 11, 0, 469 }, + { 12, 0, 634 }, { 13, 0, 223 }, { 132, 11, 483 }, { 6, 0, 48 }, + { 135, 0, 63 }, { 18, 0, 12 }, { 7, 10, 1862 }, { 12, 10, 491 }, + { 12, 10, 520 }, { 13, 10, 383 }, { 142, 10, 244 }, { 135, 11, 1665 }, + { 132, 11, 448 }, { 9, 11, 495 }, { 146, 11, 104 }, { 6, 0, 114 }, + { 7, 0, 1224 }, { 7, 0, 1556 }, { 136, 0, 3 }, { 4, 10, 190 }, + { 133, 10, 554 }, { 8, 0, 576 }, { 9, 0, 267 }, { 133, 10, 1001 }, + { 133, 10, 446 }, { 133, 0, 933 }, { 139, 11, 1009 }, { 8, 11, 653 }, + { 13, 11, 93 }, { 147, 11, 14 }, { 6, 0, 692 }, { 6, 0, 821 }, + { 134, 0, 1077 }, { 5, 11, 172 }, { 135, 11, 801 }, { 138, 0, 752 }, + { 4, 0, 375 }, { 134, 0, 638 }, { 134, 0, 1011 }, { 140, 11, 540 }, + { 9, 0, 96 }, { 133, 11, 260 }, { 139, 11, 587 }, { 135, 10, 1231 }, + { 12, 0, 30 }, { 13, 0, 148 }, { 14, 0, 87 }, { 14, 0, 182 }, + { 16, 0, 42 }, { 20, 0, 70 }, { 132, 10, 304 }, { 6, 0, 1398 }, + { 7, 0, 56 }, { 7, 0, 1989 }, { 8, 0, 337 }, { 8, 0, 738 }, + { 9, 0, 600 }, { 12, 0, 37 }, { 13, 0, 447 }, { 142, 0, 92 }, + { 138, 0, 666 }, { 5, 0, 394 }, { 7, 0, 487 }, { 136, 0, 246 }, + { 9, 0, 437 }, { 6, 10, 53 }, { 6, 10, 199 }, { 7, 10, 1408 }, + { 8, 10, 32 }, { 8, 10, 93 }, { 10, 10, 397 }, { 10, 10, 629 }, + { 11, 10, 593 }, { 11, 10, 763 }, { 13, 10, 326 }, { 145, 10, 35 }, + { 134, 10, 105 }, { 9, 0, 320 }, { 10, 0, 506 }, { 138, 10, 794 }, + { 7, 11, 57 }, { 8, 11, 167 }, { 8, 11, 375 }, { 9, 11, 82 }, + { 9, 11, 561 }, { 10, 11, 620 }, { 10, 11, 770 }, { 11, 10, 704 }, + { 141, 10, 396 }, { 6, 0, 1003 }, { 5, 10, 114 }, { 5, 10, 255 }, + { 141, 10, 285 }, { 7, 0, 866 }, { 135, 0, 1163 }, { 133, 11, 531 }, + { 132, 0, 328 }, { 7, 10, 2035 }, { 8, 10, 19 }, { 9, 10, 89 }, + { 138, 10, 831 }, { 8, 11, 194 }, { 136, 11, 756 }, { 136, 0, 1000 }, + { 5, 11, 453 }, { 134, 11, 441 }, { 4, 0, 101 }, { 5, 0, 833 }, + { 7, 0, 1171 }, { 136, 0, 744 }, { 133, 0, 726 }, { 136, 10, 746 }, + { 138, 0, 176 }, { 6, 0, 9 }, { 6, 0, 397 }, { 7, 0, 53 }, + { 7, 0, 1742 }, { 10, 0, 632 }, { 11, 0, 828 }, { 140, 0, 146 }, + { 135, 11, 22 }, { 145, 11, 64 }, { 132, 0, 839 }, { 11, 0, 417 }, + { 12, 0, 223 }, { 140, 0, 265 }, { 4, 11, 102 }, { 7, 11, 815 }, + { 7, 11, 1699 }, { 139, 11, 964 }, { 5, 10, 955 }, { 136, 10, 814 }, + { 6, 0, 1931 }, { 6, 0, 2007 }, { 18, 0, 246 }, { 146, 0, 247 }, + { 8, 0, 198 }, { 11, 0, 29 }, { 140, 0, 534 }, { 135, 0, 1771 }, + { 6, 0, 846 }, { 7, 11, 1010 }, { 11, 11, 733 }, { 11, 11, 759 }, + { 12, 11, 563 }, { 13, 11, 34 }, { 14, 11, 101 }, { 18, 11, 45 }, + { 146, 11, 129 }, { 4, 0, 186 }, { 5, 0, 157 }, { 8, 0, 168 }, + { 138, 0, 6 }, { 132, 11, 899 }, { 133, 10, 56 }, { 148, 10, 100 }, + { 133, 0, 875 }, { 5, 0, 773 }, { 5, 0, 991 }, { 6, 0, 1635 }, + { 134, 0, 1788 }, { 6, 0, 1274 }, { 9, 0, 477 }, { 141, 0, 78 }, + { 4, 0, 639 }, { 7, 0, 111 }, { 8, 0, 581 }, { 12, 0, 177 }, + { 6, 11, 52 }, { 9, 11, 104 }, { 9, 11, 559 }, { 10, 10, 4 }, + { 10, 10, 13 }, { 11, 10, 638 }, { 12, 11, 308 }, { 19, 11, 87 }, + { 148, 10, 57 }, { 132, 11, 604 }, { 4, 11, 301 }, { 133, 10, 738 }, + { 133, 10, 758 }, { 134, 0, 1747 }, { 7, 11, 1440 }, { 11, 11, 854 }, + { 11, 11, 872 }, { 11, 11, 921 }, { 12, 11, 551 }, { 13, 11, 472 }, + { 142, 11, 367 }, { 7, 0, 1364 }, { 7, 0, 1907 }, { 141, 0, 158 }, + { 134, 0, 873 }, { 4, 0, 404 }, { 4, 0, 659 }, { 7, 0, 552 }, + { 135, 0, 675 }, { 135, 10, 1112 }, { 139, 10, 328 }, { 7, 11, 508 }, + { 137, 10, 133 }, { 133, 0, 391 }, { 5, 10, 110 }, { 6, 10, 169 }, + { 6, 10, 1702 }, { 7, 10, 400 }, { 8, 10, 538 }, { 9, 10, 184 }, + { 9, 10, 524 }, { 140, 10, 218 }, { 6, 11, 310 }, { 7, 11, 1849 }, + { 8, 11, 72 }, { 8, 11, 272 }, { 8, 11, 431 }, { 9, 11, 12 }, + { 9, 11, 351 }, { 10, 11, 563 }, { 10, 11, 630 }, { 10, 11, 810 }, + { 11, 11, 367 }, { 11, 11, 599 }, { 11, 11, 686 }, { 140, 11, 672 }, + { 5, 0, 540 }, { 6, 0, 1697 }, { 136, 0, 668 }, { 132, 0, 883 }, + { 134, 0, 78 }, { 12, 0, 628 }, { 18, 0, 79 }, { 6, 10, 133 }, + { 9, 10, 353 }, { 139, 10, 993 }, { 6, 11, 181 }, { 7, 11, 537 }, + { 8, 11, 64 }, { 9, 11, 127 }, { 10, 11, 496 }, { 12, 11, 510 }, + { 141, 11, 384 }, { 6, 10, 93 }, { 7, 10, 1422 }, { 7, 10, 1851 }, + { 8, 10, 673 }, { 9, 10, 529 }, { 140, 10, 43 }, { 137, 10, 371 }, + { 134, 0, 1460 }, { 134, 0, 962 }, { 4, 11, 244 }, { 135, 11, 233 }, + { 9, 10, 25 }, { 10, 10, 467 }, { 138, 10, 559 }, { 4, 10, 335 }, + { 135, 10, 942 }, { 133, 0, 460 }, { 135, 11, 334 }, { 134, 11, 1650 }, + { 4, 0, 199 }, { 139, 0, 34 }, { 5, 10, 601 }, { 8, 10, 39 }, + { 10, 10, 773 }, { 11, 10, 84 }, { 12, 10, 205 }, { 142, 10, 1 }, + { 133, 10, 870 }, { 134, 0, 388 }, { 14, 0, 474 }, { 148, 0, 120 }, + { 133, 11, 369 }, { 139, 0, 271 }, { 4, 0, 511 }, { 9, 0, 333 }, + { 9, 0, 379 }, { 10, 0, 602 }, { 11, 0, 441 }, { 11, 0, 723 }, + { 11, 0, 976 }, { 12, 0, 357 }, { 132, 10, 181 }, { 134, 0, 608 }, + { 134, 10, 1652 }, { 22, 0, 49 }, { 137, 11, 338 }, { 140, 0, 988 }, + { 134, 0, 617 }, { 5, 0, 938 }, { 136, 0, 707 }, { 132, 10, 97 }, + { 5, 10, 147 }, { 6, 10, 286 }, { 7, 10, 1362 }, { 141, 10, 176 }, + { 6, 0, 756 }, { 134, 0, 1149 }, { 133, 11, 896 }, { 6, 10, 375 }, + { 7, 10, 169 }, { 7, 10, 254 }, { 136, 10, 780 }, { 134, 0, 1583 }, + { 135, 10, 1447 }, { 139, 0, 285 }, { 7, 11, 1117 }, { 8, 11, 393 }, + { 136, 11, 539 }, { 135, 0, 344 }, { 6, 0, 469 }, { 7, 0, 1709 }, + { 138, 0, 515 }, { 5, 10, 629 }, { 135, 10, 1549 }, { 5, 11, 4 }, + { 5, 11, 810 }, { 6, 11, 13 }, { 6, 11, 538 }, { 6, 11, 1690 }, + { 6, 11, 1726 }, { 7, 11, 499 }, { 7, 11, 1819 }, { 8, 11, 148 }, + { 8, 11, 696 }, { 8, 11, 791 }, { 12, 11, 125 }, { 13, 11, 54 }, + { 143, 11, 9 }, { 135, 11, 1268 }, { 137, 0, 404 }, { 132, 0, 500 }, + { 5, 0, 68 }, { 134, 0, 383 }, { 11, 0, 216 }, { 139, 0, 340 }, + { 4, 11, 925 }, { 5, 11, 803 }, { 8, 11, 698 }, { 138, 11, 828 }, + { 4, 0, 337 }, { 6, 0, 353 }, { 7, 0, 1934 }, { 8, 0, 488 }, + { 137, 0, 429 }, { 7, 0, 236 }, { 7, 0, 1795 }, { 8, 0, 259 }, + { 9, 0, 135 }, { 9, 0, 177 }, { 9, 0, 860 }, { 10, 0, 825 }, + { 11, 0, 115 }, { 11, 0, 370 }, { 11, 0, 405 }, { 11, 0, 604 }, + { 12, 0, 10 }, { 12, 0, 667 }, { 12, 0, 669 }, { 13, 0, 76 }, + { 14, 0, 310 }, { 15, 0, 76 }, { 15, 0, 147 }, { 148, 0, 23 }, + { 4, 0, 15 }, { 4, 0, 490 }, { 5, 0, 22 }, { 6, 0, 244 }, + { 7, 0, 40 }, { 7, 0, 200 }, { 7, 0, 906 }, { 7, 0, 1199 }, + { 9, 0, 616 }, { 10, 0, 716 }, { 11, 0, 635 }, { 11, 0, 801 }, + { 140, 0, 458 }, { 12, 0, 756 }, { 132, 10, 420 }, { 134, 0, 1504 }, + { 6, 0, 757 }, { 133, 11, 383 }, { 6, 0, 1266 }, { 135, 0, 1735 }, + { 5, 0, 598 }, { 7, 0, 791 }, { 8, 0, 108 }, { 9, 0, 123 }, + { 7, 10, 1570 }, { 140, 10, 542 }, { 142, 11, 410 }, { 9, 11, 660 }, + { 138, 11, 347 } +}; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_STATIC_DICT_LUT_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/streams.h b/BaseTools/Source/C/BrotliCompress/enc/streams.h new file mode 100644 index 000000000000..010a5be06b30 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/streams.h @@ -0,0 +1,121 @@ +/* Copyright 2009 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Input and output classes for streaming brotli compression. */ + +#ifndef BROTLI_ENC_STREAMS_H_ +#define BROTLI_ENC_STREAMS_H_ + +#include +#include + +#include "../common/types.h" + +namespace brotli { + +/* Input interface for the compression routines. */ +class BrotliIn { + public: + virtual ~BrotliIn(void) {} + + /* Return a pointer to the next block of input of at most n bytes. + Return the actual length in *nread. + At end of data, return NULL. Don't return NULL if there is more data + to read, even if called with n == 0. + Read will only be called if some of its bytes are needed. */ + virtual const void* Read(size_t n, size_t* nread) = 0; +}; + +/* Output interface for the compression routines. */ +class BrotliOut { + public: + virtual ~BrotliOut(void) {} + + /* Write n bytes of data from buf. + Return true if all written, false otherwise. */ + virtual bool Write(const void *buf, size_t n) = 0; +}; + +/* Adapter class to make BrotliIn objects from raw memory. */ +class BrotliMemIn : public BrotliIn { + public: + BrotliMemIn(const void* buf, size_t len); + + void Reset(const void* buf, size_t len); + + /* returns the amount of data consumed */ + size_t position(void) const { return pos_; } + + const void* Read(size_t n, size_t* OUTPUT); + + private: + const void* buf_; /* start of input buffer */ + size_t len_; /* length of input */ + size_t pos_; /* current read position within input */ +}; + +/* Adapter class to make BrotliOut objects from raw memory. */ +class BrotliMemOut : public BrotliOut { + public: + BrotliMemOut(void* buf, size_t len); + + void Reset(void* buf, size_t len); + + /* returns the amount of data written */ + size_t position(void) const { return pos_; } + + bool Write(const void* buf, size_t n); + + private: + void* buf_; /* start of output buffer */ + size_t len_; /* length of output */ + size_t pos_; /* current write position within output */ +}; + +/* Adapter class to make BrotliOut objects from a string. */ +class BrotliStringOut : public BrotliOut { + public: + /* Create a writer that appends its data to buf. + buf->size() will grow to at most max_size + buf is expected to be empty when constructing BrotliStringOut. */ + BrotliStringOut(std::string* buf, size_t max_size); + + void Reset(std::string* buf, size_t max_len); + + bool Write(const void* buf, size_t n); + + private: + std::string* buf_; /* start of output buffer */ + size_t max_size_; /* max length of output */ +}; + +/* Adapter class to make BrotliIn object from a file. */ +class BrotliFileIn : public BrotliIn { + public: + BrotliFileIn(FILE* f, size_t max_read_size); + ~BrotliFileIn(void); + + const void* Read(size_t n, size_t* bytes_read); + + private: + FILE* f_; + char* buf_; + size_t buf_size_; +}; + +/* Adapter class to make BrotliOut object from a file. */ +class BrotliFileOut : public BrotliOut { + public: + explicit BrotliFileOut(FILE* f); + + bool Write(const void* buf, size_t n); + private: + FILE* f_; +}; + +} /* namespace brotli */ + +#endif /* BROTLI_ENC_STREAMS_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/utf8_util.c b/BaseTools/Source/C/BrotliCompress/enc/utf8_util.c new file mode 100644 index 000000000000..c963f306faa0 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/utf8_util.c @@ -0,0 +1,85 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Heuristics for deciding about the UTF8-ness of strings. */ + +#include "./utf8_util.h" + +#include "../common/types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static size_t BrotliParseAsUTF8( + int* symbol, const uint8_t* input, size_t size) { + /* ASCII */ + if ((input[0] & 0x80) == 0) { + *symbol = input[0]; + if (*symbol > 0) { + return 1; + } + } + /* 2-byte UTF8 */ + if (size > 1u && + (input[0] & 0xe0) == 0xc0 && + (input[1] & 0xc0) == 0x80) { + *symbol = (((input[0] & 0x1f) << 6) | + (input[1] & 0x3f)); + if (*symbol > 0x7f) { + return 2; + } + } + /* 3-byte UFT8 */ + if (size > 2u && + (input[0] & 0xf0) == 0xe0 && + (input[1] & 0xc0) == 0x80 && + (input[2] & 0xc0) == 0x80) { + *symbol = (((input[0] & 0x0f) << 12) | + ((input[1] & 0x3f) << 6) | + (input[2] & 0x3f)); + if (*symbol > 0x7ff) { + return 3; + } + } + /* 4-byte UFT8 */ + if (size > 3u && + (input[0] & 0xf8) == 0xf0 && + (input[1] & 0xc0) == 0x80 && + (input[2] & 0xc0) == 0x80 && + (input[3] & 0xc0) == 0x80) { + *symbol = (((input[0] & 0x07) << 18) | + ((input[1] & 0x3f) << 12) | + ((input[2] & 0x3f) << 6) | + (input[3] & 0x3f)); + if (*symbol > 0xffff && *symbol <= 0x10ffff) { + return 4; + } + } + /* Not UTF8, emit a special symbol above the UTF8-code space */ + *symbol = 0x110000 | input[0]; + return 1; +} + +/* Returns 1 if at least min_fraction of the data is UTF8-encoded.*/ +BROTLI_BOOL BrotliIsMostlyUTF8( + const uint8_t* data, const size_t pos, const size_t mask, + const size_t length, const double min_fraction) { + size_t size_utf8 = 0; + size_t i = 0; + while (i < length) { + int symbol; + size_t bytes_read = + BrotliParseAsUTF8(&symbol, &data[(pos + i) & mask], length - i); + i += bytes_read; + if (symbol < 0x110000) size_utf8 += bytes_read; + } + return TO_BROTLI_BOOL(size_utf8 > min_fraction * (double)length); +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/BaseTools/Source/C/BrotliCompress/enc/utf8_util.h b/BaseTools/Source/C/BrotliCompress/enc/utf8_util.h new file mode 100644 index 000000000000..2224bc31bd9f --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/utf8_util.h @@ -0,0 +1,32 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Heuristics for deciding about the UTF8-ness of strings. */ + +#ifndef BROTLI_ENC_UTF8_UTIL_H_ +#define BROTLI_ENC_UTF8_UTIL_H_ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static const double kMinUTF8Ratio = 0.75; + +/* Returns 1 if at least min_fraction of the bytes between pos and + pos + length in the (data, mask) ringbuffer is UTF8-encoded, otherwise + returns 0. */ +BROTLI_INTERNAL BROTLI_BOOL BrotliIsMostlyUTF8( + const uint8_t* data, const size_t pos, const size_t mask, + const size_t length, const double min_fraction); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_UTF8_UTIL_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/enc/write_bits.h b/BaseTools/Source/C/BrotliCompress/enc/write_bits.h new file mode 100644 index 000000000000..3d5cad601426 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/enc/write_bits.h @@ -0,0 +1,90 @@ +/* Copyright 2010 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Write bits into a byte array. */ + +#ifndef BROTLI_ENC_WRITE_BITS_H_ +#define BROTLI_ENC_WRITE_BITS_H_ + +#include +#include /* printf */ + +#include "../common/types.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/*#define BIT_WRITER_DEBUG */ + +/* This function writes bits into bytes in increasing addresses, and within + a byte least-significant-bit first. + + The function can write up to 56 bits in one go with WriteBits + Example: let's assume that 3 bits (Rs below) have been written already: + + BYTE-0 BYTE+1 BYTE+2 + + 0000 0RRR 0000 0000 0000 0000 + + Now, we could write 5 or less bits in MSB by just sifting by 3 + and OR'ing to BYTE-0. + + For n bits, we take the last 5 bits, OR that with high bits in BYTE-0, + and locate the rest in BYTE+1, BYTE+2, etc. */ +static BROTLI_INLINE void BrotliWriteBits(size_t n_bits, + uint64_t bits, + size_t * BROTLI_RESTRICT pos, + uint8_t * BROTLI_RESTRICT array) { +#ifdef IS_LITTLE_ENDIAN + /* This branch of the code can write up to 56 bits at a time, + 7 bits are lost by being perhaps already in *p and at least + 1 bit is needed to initialize the bit-stream ahead (i.e. if 7 + bits are in *p and we write 57 bits, then the next write will + access a byte that was never initialized). */ + uint8_t *p = &array[*pos >> 3]; + uint64_t v = *p; +#ifdef BIT_WRITER_DEBUG + printf("WriteBits %2d 0x%016llx %10d\n", n_bits, bits, *pos); +#endif + assert((bits >> n_bits) == 0); + assert(n_bits <= 56); + v |= bits << (*pos & 7); + BROTLI_UNALIGNED_STORE64(p, v); /* Set some bits. */ + *pos += n_bits; +#else + /* implicit & 0xff is assumed for uint8_t arithmetics */ + uint8_t *array_pos = &array[*pos >> 3]; + const size_t bits_reserved_in_first_byte = (*pos & 7); + size_t bits_left_to_write; + bits <<= bits_reserved_in_first_byte; + *array_pos++ |= (uint8_t)bits; + for (bits_left_to_write = n_bits + bits_reserved_in_first_byte; + bits_left_to_write >= 9; + bits_left_to_write -= 8) { + bits >>= 8; + *array_pos++ = (uint8_t)bits; + } + *array_pos = 0; + *pos += n_bits; +#endif +} + +static BROTLI_INLINE void BrotliWriteBitsPrepareStorage( + size_t pos, uint8_t *array) { +#ifdef BIT_WRITER_DEBUG + printf("WriteBitsPrepareStorage %10d\n", pos); +#endif + assert((pos & 7) == 0); + array[pos >> 3] = 0; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_WRITE_BITS_H_ */ diff --git a/BaseTools/Source/C/BrotliCompress/tools/bro.c b/BaseTools/Source/C/BrotliCompress/tools/bro.c new file mode 100644 index 000000000000..57e053aa298b --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/tools/bro.c @@ -0,0 +1,472 @@ +/* Copyright 2014 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Example main() function for Brotli library. */ + +#include +#include +#include +#include +#include +#include +#include + +#include "../dec/decode.h" +#include "../enc/encode.h" + +#if !defined(_WIN32) +#include +#else +#include +#include + +#define MAKE_BINARY(FILENO) (_setmode((FILENO), _O_BINARY), (FILENO)) + +#if !defined(__MINGW32__) +#define STDIN_FILENO MAKE_BINARY(_fileno(stdin)) +#define STDOUT_FILENO MAKE_BINARY(_fileno(stdout)) +#define S_IRUSR S_IREAD +#define S_IWUSR S_IWRITE +#endif +#define fdopen _fdopen +#define unlink _unlink + +#define fopen ms_fopen +#define open ms_open + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) +#define fseek _fseeki64 +#define ftell _ftelli64 +#endif + +static FILE* ms_fopen(const char *filename, const char *mode) { + FILE* result = 0; + fopen_s(&result, filename, mode); + return result; +} + +static int ms_open(const char *filename, int oflag, int pmode) { + int result = -1; + _sopen_s(&result, filename, oflag | O_BINARY, _SH_DENYNO, pmode); + return result; +} +#endif /* WIN32 */ + +static int ParseQuality(const char* s, int* quality) { + if (s[0] >= '0' && s[0] <= '9') { + *quality = s[0] - '0'; + if (s[1] >= '0' && s[1] <= '9') { + *quality = *quality * 10 + s[1] - '0'; + return (s[2] == 0) ? 1 : 0; + } + return (s[1] == 0) ? 1 : 0; + } + return 0; +} + +static void ParseArgv(int argc, char **argv, + char **input_path, + char **output_path, + char **dictionary_path, + int *force, + int *quality, + int *decompress, + int *repeat, + int *verbose, + int *lgwin) { + int k; + *force = 0; + *input_path = 0; + *output_path = 0; + *repeat = 1; + *verbose = 0; + *lgwin = 22; + { + size_t argv0_len = strlen(argv[0]); + *decompress = + argv0_len >= 5 && strcmp(&argv[0][argv0_len - 5], "unbro") == 0; + } + for (k = 1; k < argc; ++k) { + if (!strcmp("--force", argv[k]) || + !strcmp("-f", argv[k])) { + if (*force != 0) { + goto error; + } + *force = 1; + continue; + } else if (!strcmp("--decompress", argv[k]) || + !strcmp("--uncompress", argv[k]) || + !strcmp("-d", argv[k])) { + *decompress = 1; + continue; + } else if (!strcmp("--verbose", argv[k]) || + !strcmp("-v", argv[k])) { + if (*verbose != 0) { + goto error; + } + *verbose = 1; + continue; + } + if (k < argc - 1) { + if (!strcmp("--input", argv[k]) || + !strcmp("--in", argv[k]) || + !strcmp("-i", argv[k])) { + if (*input_path != 0) { + goto error; + } + *input_path = argv[k + 1]; + ++k; + continue; + } else if (!strcmp("--output", argv[k]) || + !strcmp("--out", argv[k]) || + !strcmp("-o", argv[k])) { + if (*output_path != 0) { + goto error; + } + *output_path = argv[k + 1]; + ++k; + continue; + } else if (!strcmp("--custom-dictionary", argv[k])) { + if (*dictionary_path != 0) { + goto error; + } + *dictionary_path = argv[k + 1]; + ++k; + continue; + } else if (!strcmp("--quality", argv[k]) || + !strcmp("-q", argv[k])) { + if (!ParseQuality(argv[k + 1], quality)) { + goto error; + } + ++k; + continue; + } else if (!strcmp("--repeat", argv[k]) || + !strcmp("-r", argv[k])) { + if (!ParseQuality(argv[k + 1], repeat)) { + goto error; + } + ++k; + continue; + } else if (!strcmp("--window", argv[k]) || + !strcmp("-w", argv[k])) { + if (!ParseQuality(argv[k + 1], lgwin)) { + goto error; + } + if (*lgwin < 10 || *lgwin >= 25) { + goto error; + } + ++k; + continue; + } + } + goto error; + } + return; +error: + fprintf(stderr, + "Usage: %s [--force] [--quality n] [--decompress]" + " [--input filename] [--output filename] [--repeat iters]" + " [--verbose] [--window n] [--custom-dictionary filename]\n", + argv[0]); + exit(1); +} + +static FILE* OpenInputFile(const char* input_path) { + FILE* f; + if (input_path == 0) { + return fdopen(STDIN_FILENO, "rb"); + } + f = fopen(input_path, "rb"); + if (f == 0) { + perror("fopen"); + exit(1); + } + return f; +} + +static FILE *OpenOutputFile(const char *output_path, const int force) { + int fd; + if (output_path == 0) { + return fdopen(STDOUT_FILENO, "wb"); + } + fd = open(output_path, O_CREAT | (force ? 0 : O_EXCL) | O_WRONLY | O_TRUNC, + S_IRUSR | S_IWUSR); + if (fd < 0) { + if (!force) { + struct stat statbuf; + if (stat(output_path, &statbuf) == 0) { + fprintf(stderr, "output file exists\n"); + exit(1); + } + } + perror("open"); + exit(1); + } + return fdopen(fd, "wb"); +} + +static int64_t FileSize(const char *path) { + FILE *f = fopen(path, "rb"); + int64_t retval; + if (f == NULL) { + return -1; + } + if (fseek(f, 0L, SEEK_END) != 0) { + fclose(f); + return -1; + } + retval = ftell(f); + if (fclose(f) != 0) { + return -1; + } + return retval; +} + +/* Result ownersip is passed to caller. + |*dictionary_size| is set to resulting buffer size. */ +static uint8_t* ReadDictionary(const char* path, size_t* dictionary_size) { + static const int kMaxDictionarySize = (1 << 24) - 16; + FILE *f = fopen(path, "rb"); + int64_t file_size_64; + uint8_t* buffer; + size_t bytes_read; + + if (f == NULL) { + perror("fopen"); + exit(1); + } + + file_size_64 = FileSize(path); + if (file_size_64 == -1) { + fprintf(stderr, "could not get size of dictionary file"); + exit(1); + } + + if (file_size_64 > kMaxDictionarySize) { + fprintf(stderr, "dictionary is larger than maximum allowed: %d\n", + kMaxDictionarySize); + exit(1); + } + *dictionary_size = (size_t)file_size_64; + + buffer = (uint8_t*)malloc(*dictionary_size); + if (!buffer) { + fprintf(stderr, "could not read dictionary: out of memory\n"); + exit(1); + } + bytes_read = fread(buffer, sizeof(uint8_t), *dictionary_size, f); + if (bytes_read != *dictionary_size) { + fprintf(stderr, "could not read dictionary\n"); + exit(1); + } + fclose(f); + return buffer; +} + +static const size_t kFileBufferSize = 65536; + +static int Decompress(FILE* fin, FILE* fout, const char* dictionary_path) { + /* Dictionary should be kept during first rounds of decompression. */ + uint8_t* dictionary = NULL; + uint8_t* input; + uint8_t* output; + size_t total_out; + size_t available_in; + const uint8_t* next_in; + size_t available_out = kFileBufferSize; + uint8_t* next_out; + BrotliResult result = BROTLI_RESULT_ERROR; + BrotliState* s = BrotliCreateState(NULL, NULL, NULL); + if (!s) { + fprintf(stderr, "out of memory\n"); + return 0; + } + if (dictionary_path != NULL) { + size_t dictionary_size = 0; + dictionary = ReadDictionary(dictionary_path, &dictionary_size); + BrotliSetCustomDictionary(dictionary_size, dictionary, s); + } + input = (uint8_t*)malloc(kFileBufferSize); + output = (uint8_t*)malloc(kFileBufferSize); + if (!input || !output) { + fprintf(stderr, "out of memory\n"); + goto end; + } + next_out = output; + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + while (1) { + if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + if (feof(fin)) { + break; + } + available_in = fread(input, 1, kFileBufferSize, fin); + next_in = input; + if (ferror(fin)) { + break; + } + } else if (result == BROTLI_RESULT_NEEDS_MORE_OUTPUT) { + fwrite(output, 1, kFileBufferSize, fout); + if (ferror(fout)) { + break; + } + available_out = kFileBufferSize; + next_out = output; + } else { + break; /* Error or success. */ + } + result = BrotliDecompressStream(&available_in, &next_in, + &available_out, &next_out, &total_out, s); + } + if (next_out != output) { + fwrite(output, 1, (size_t)(next_out - output), fout); + } + + if ((result == BROTLI_RESULT_NEEDS_MORE_OUTPUT) || ferror(fout)) { + fprintf(stderr, "failed to write output\n"); + } else if (result != BROTLI_RESULT_SUCCESS) { /* Error or needs more input. */ + fprintf(stderr, "corrupt input\n"); + } + +end: + free(dictionary); + free(input); + free(output); + BrotliDestroyState(s); + return (result == BROTLI_RESULT_SUCCESS) ? 1 : 0; +} + +static int Compress(int quality, int lgwin, FILE* fin, FILE* fout, + const char *dictionary_path) { + BrotliEncoderState* s = BrotliEncoderCreateInstance(0, 0, 0); + uint8_t* buffer = (uint8_t*)malloc(kFileBufferSize << 1); + uint8_t* input = buffer; + uint8_t* output = buffer + kFileBufferSize; + size_t available_in = 0; + const uint8_t* next_in = NULL; + size_t available_out = kFileBufferSize; + uint8_t* next_out = output; + int is_eof = 0; + int is_ok = 1; + + if (!s || !buffer) { + is_ok = 0; + goto finish; + } + + BrotliEncoderSetParameter(s, BROTLI_PARAM_QUALITY, (uint32_t)quality); + BrotliEncoderSetParameter(s, BROTLI_PARAM_LGWIN, (uint32_t)lgwin); + if (dictionary_path != NULL) { + size_t dictionary_size = 0; + uint8_t* dictionary = ReadDictionary(dictionary_path, &dictionary_size); + BrotliEncoderSetCustomDictionary(s, dictionary_size, dictionary); + free(dictionary); + } + + while (1) { + if (available_in == 0 && !is_eof) { + available_in = fread(input, 1, kFileBufferSize, fin); + next_in = input; + if (ferror(fin)) break; + is_eof = feof(fin); + } + + if (!BrotliEncoderCompressStream(s, + is_eof ? BROTLI_OPERATION_FINISH : BROTLI_OPERATION_PROCESS, + &available_in, &next_in, &available_out, &next_out, NULL)) { + is_ok = 0; + break; + } + + if (available_out != kFileBufferSize) { + size_t out_size = kFileBufferSize - available_out; + fwrite(output, 1, out_size, fout); + if (ferror(fout)) break; + available_out = kFileBufferSize; + next_out = output; + } + + if (BrotliEncoderIsFinished(s)) break; + } + +finish: + free(buffer); + BrotliEncoderDestroyInstance(s); + + if (!is_ok) { + /* Should detect OOM? */ + fprintf(stderr, "failed to compress data\n"); + return 0; + } else if (ferror(fout)) { + fprintf(stderr, "failed to write output\n"); + return 0; + } else if (ferror(fin)) { + fprintf(stderr, "failed to read input\n"); + return 0; + } + return 1; +} + +int main(int argc, char** argv) { + char *input_path = 0; + char *output_path = 0; + char *dictionary_path = 0; + int force = 0; + int quality = 11; + int decompress = 0; + int repeat = 1; + int verbose = 0; + int lgwin = 0; + clock_t clock_start; + int i; + ParseArgv(argc, argv, &input_path, &output_path, &dictionary_path, &force, + &quality, &decompress, &repeat, &verbose, &lgwin); + clock_start = clock(); + for (i = 0; i < repeat; ++i) { + FILE* fin = OpenInputFile(input_path); + FILE* fout = OpenOutputFile(output_path, force || repeat); + int is_ok = 0; + if (decompress) { + is_ok = Decompress(fin, fout, dictionary_path); + } else { + is_ok = Compress(quality, lgwin, fin, fout, dictionary_path); + } + if (!is_ok) { + unlink(output_path); + exit(1); + } + if (fclose(fin) != 0) { + perror("fclose"); + exit(1); + } + if (fclose(fout) != 0) { + perror("fclose"); + exit(1); + } + } + if (verbose) { + clock_t clock_end = clock(); + double duration = (double)(clock_end - clock_start) / CLOCKS_PER_SEC; + int64_t uncompressed_size; + double uncompressed_bytes_in_MB; + if (duration < 1e-9) { + duration = 1e-9; + } + uncompressed_size = FileSize(decompress ? output_path : input_path); + if (uncompressed_size == -1) { + fprintf(stderr, "failed to determine uncompressed file size\n"); + exit(1); + } + uncompressed_bytes_in_MB = + (double)(repeat * uncompressed_size) / (1024.0 * 1024.0); + if (decompress) { + printf("Brotli decompression speed: "); + } else { + printf("Brotli compression speed: "); + } + printf("%g MB/s\n", uncompressed_bytes_in_MB / duration); + } + return 0; +} diff --git a/BaseTools/Source/C/BrotliCompress/tools/version.h b/BaseTools/Source/C/BrotliCompress/tools/version.h new file mode 100644 index 000000000000..070557e90d30 --- /dev/null +++ b/BaseTools/Source/C/BrotliCompress/tools/version.h @@ -0,0 +1,14 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Defines a common version string used by all of the brotli tools. */ + +#ifndef BROTLI_TOOLS_VERSION_H_ +#define BROTLI_TOOLS_VERSION_H_ + +#define BROTLI_VERSION "0.5.2" + +#endif /* BROTLI_TOOLS_VERSION_H_ */