2022-05-28 21:30:10 +08:00
|
|
|
// -*- C++ -*-
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
// WARNING, this entire header is generated by
|
|
|
|
// utiles/generate_extended_grapheme_cluster_table.py
|
|
|
|
// DO NOT MODIFY!
|
|
|
|
|
|
|
|
// UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
|
|
|
|
//
|
|
|
|
// See Terms of Use <https://www.unicode.org/copyright.html>
|
|
|
|
// for definitions of Unicode Inc.'s Data Files and Software.
|
|
|
|
//
|
|
|
|
// NOTICE TO USER: Carefully read the following legal agreement.
|
|
|
|
// BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
|
|
|
|
// DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
|
|
|
|
// YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
|
|
|
// TERMS AND CONDITIONS OF THIS AGREEMENT.
|
|
|
|
// IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
|
|
|
|
// THE DATA FILES OR SOFTWARE.
|
|
|
|
//
|
|
|
|
// COPYRIGHT AND PERMISSION NOTICE
|
|
|
|
//
|
|
|
|
// Copyright (c) 1991-2022 Unicode, Inc. All rights reserved.
|
|
|
|
// Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
|
|
|
|
//
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
// a copy of the Unicode data files and any associated documentation
|
|
|
|
// (the "Data Files") or Unicode software and any associated documentation
|
|
|
|
// (the "Software") to deal in the Data Files or Software
|
|
|
|
// without restriction, including without limitation the rights to use,
|
|
|
|
// copy, modify, merge, publish, distribute, and/or sell copies of
|
|
|
|
// the Data Files or Software, and to permit persons to whom the Data Files
|
|
|
|
// or Software are furnished to do so, provided that either
|
|
|
|
// (a) this copyright and permission notice appear with all copies
|
|
|
|
// of the Data Files or Software, or
|
|
|
|
// (b) this copyright and permission notice appear in associated
|
|
|
|
// Documentation.
|
|
|
|
//
|
|
|
|
// THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS.
|
|
|
|
// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
|
|
|
// NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
|
|
|
// DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
|
|
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
|
|
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
|
// PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
|
|
|
//
|
|
|
|
// Except as contained in this notice, the name of a copyright holder
|
|
|
|
// shall not be used in advertising or otherwise to promote the sale,
|
|
|
|
// use or other dealings in these Data Files or Software without prior
|
|
|
|
// written authorization of the copyright holder.
|
|
|
|
|
|
|
|
#ifndef _LIBCPP___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
|
|
|
|
#define _LIBCPP___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
|
|
|
|
|
|
|
|
#include <__algorithm/upper_bound.h>
|
|
|
|
#include <__config>
|
|
|
|
#include <__iterator/access.h>
|
|
|
|
#include <cstddef>
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
|
|
|
# pragma GCC system_header
|
|
|
|
#endif
|
|
|
|
|
|
|
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
|
|
|
|
|
|
#if _LIBCPP_STD_VER > 17
|
|
|
|
|
|
|
|
namespace __extended_grapheme_custer_property_boundary {
|
|
|
|
|
|
|
|
enum class __property : uint8_t {
|
|
|
|
// Values generated from the data files.
|
|
|
|
__CR,
|
|
|
|
__Control,
|
|
|
|
__Extend,
|
|
|
|
__Extended_Pictographic,
|
|
|
|
__L,
|
|
|
|
__LF,
|
|
|
|
__LV,
|
|
|
|
__LVT,
|
|
|
|
__Prepend,
|
|
|
|
__Regional_Indicator,
|
|
|
|
__SpacingMark,
|
|
|
|
__T,
|
|
|
|
__V,
|
|
|
|
__ZWJ,
|
|
|
|
|
|
|
|
// The properies below aren't stored in the "database".
|
|
|
|
|
|
|
|
// Text position properties.
|
|
|
|
__sot,
|
|
|
|
__eot,
|
|
|
|
|
|
|
|
// The code unit has none of above properties.
|
|
|
|
__none
|
|
|
|
};
|
|
|
|
|
|
|
|
/// The entries of the extended grapheme cluster bondary property table.
|
|
|
|
///
|
|
|
|
/// The data is generated from
|
|
|
|
/// - https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakProperty.txt
|
|
|
|
/// - https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt
|
|
|
|
///
|
|
|
|
/// The data has 3 values
|
|
|
|
/// - bits [0, 3] The property. One of the values generated form the datafiles
|
|
|
|
/// of \ref __property
|
|
|
|
/// - bits [4, 10] The size of the range.
|
|
|
|
/// - bits [11, 31] The lower bound code point of the range. The upper bound of
|
|
|
|
/// the range is lower bound + size.
|
|
|
|
///
|
|
|
|
/// The 7 bits for the size allow a maximum range of 128 elements. Some ranges
|
|
|
|
/// in the Unicode tables are larger. They are stored in multiple consecutive
|
|
|
|
/// ranges in the data table. An alternative would be to store the sizes in a
|
|
|
|
/// separate 16-bit value. The original MSVC STL code had such an approach, but
|
|
|
|
/// this approach uses less space for the data and is about 4% faster in the
|
|
|
|
/// following benchmark.
|
|
|
|
/// libcxx/benchmarks/std_format_spec_string_unicode.bench.cpp
|
|
|
|
inline constexpr uint32_t __entries[1480] = {
|
2022-08-01 23:55:51 +08:00
|
|
|
0x00000091,
|
|
|
|
0x00005005,
|
|
|
|
0x00005811,
|
|
|
|
0x00006800,
|
|
|
|
0x00007111,
|
|
|
|
0x0003fa01,
|
|
|
|
0x00054803,
|
|
|
|
0x00056801,
|
|
|
|
0x00057003,
|
|
|
|
0x001806f2,
|
|
|
|
0x00241862,
|
|
|
|
0x002c8ac2,
|
|
|
|
0x002df802,
|
|
|
|
0x002e0812,
|
|
|
|
0x002e2012,
|
|
|
|
0x002e3802,
|
|
|
|
0x00300058,
|
|
|
|
0x003080a2,
|
|
|
|
0x0030e001,
|
|
|
|
0x00325942,
|
|
|
|
0x00338002,
|
|
|
|
0x0036b062,
|
|
|
|
0x0036e808,
|
|
|
|
0x0036f852,
|
|
|
|
0x00373812,
|
|
|
|
0x00375032,
|
|
|
|
0x00387808,
|
|
|
|
0x00388802,
|
|
|
|
0x003981a2,
|
|
|
|
0x003d30a2,
|
|
|
|
0x003f5882,
|
|
|
|
0x003fe802,
|
|
|
|
0x0040b032,
|
|
|
|
0x0040d882,
|
|
|
|
0x00412822,
|
|
|
|
0x00414842,
|
|
|
|
0x0042c822,
|
|
|
|
0x00448018,
|
|
|
|
0x0044c072,
|
|
|
|
0x00465172,
|
|
|
|
0x00471008,
|
|
|
|
0x004719f2,
|
|
|
|
0x0048180a,
|
|
|
|
0x0049d002,
|
|
|
|
0x0049d80a,
|
|
|
|
0x0049e002,
|
|
|
|
0x0049f02a,
|
|
|
|
0x004a0872,
|
|
|
|
0x004a483a,
|
|
|
|
0x004a6802,
|
|
|
|
0x004a701a,
|
|
|
|
0x004a8862,
|
|
|
|
0x004b1012,
|
|
|
|
0x004c0802,
|
|
|
|
0x004c101a,
|
|
|
|
0x004de002,
|
|
|
|
0x004df002,
|
|
|
|
0x004df81a,
|
|
|
|
0x004e0832,
|
|
|
|
0x004e381a,
|
|
|
|
0x004e581a,
|
|
|
|
0x004e6802,
|
|
|
|
0x004eb802,
|
|
|
|
0x004f1012,
|
|
|
|
0x004ff002,
|
|
|
|
0x00500812,
|
|
|
|
0x0050180a,
|
|
|
|
0x0051e002,
|
|
|
|
0x0051f02a,
|
|
|
|
0x00520812,
|
|
|
|
0x00523812,
|
|
|
|
0x00525822,
|
|
|
|
0x00528802,
|
|
|
|
0x00538012,
|
|
|
|
0x0053a802,
|
|
|
|
0x00540812,
|
|
|
|
0x0054180a,
|
|
|
|
0x0055e002,
|
|
|
|
0x0055f02a,
|
|
|
|
0x00560842,
|
|
|
|
0x00563812,
|
|
|
|
0x0056480a,
|
|
|
|
0x0056581a,
|
|
|
|
0x00566802,
|
|
|
|
0x00571012,
|
|
|
|
0x0057d052,
|
|
|
|
0x00580802,
|
|
|
|
0x0058101a,
|
|
|
|
0x0059e002,
|
|
|
|
0x0059f012,
|
|
|
|
0x005a000a,
|
|
|
|
0x005a0832,
|
|
|
|
0x005a381a,
|
|
|
|
0x005a581a,
|
|
|
|
0x005a6802,
|
|
|
|
0x005aa822,
|
|
|
|
0x005b1012,
|
|
|
|
0x005c1002,
|
|
|
|
0x005df002,
|
|
|
|
0x005df80a,
|
|
|
|
0x005e0002,
|
|
|
|
0x005e081a,
|
|
|
|
0x005e302a,
|
|
|
|
0x005e502a,
|
|
|
|
0x005e6802,
|
|
|
|
0x005eb802,
|
|
|
|
0x00600002,
|
|
|
|
0x0060082a,
|
|
|
|
0x00602002,
|
|
|
|
0x0061e002,
|
|
|
|
0x0061f022,
|
|
|
|
0x0062083a,
|
|
|
|
0x00623022,
|
|
|
|
0x00625032,
|
|
|
|
0x0062a812,
|
|
|
|
0x00631012,
|
|
|
|
0x00640802,
|
|
|
|
0x0064101a,
|
|
|
|
0x0065e002,
|
|
|
|
0x0065f00a,
|
|
|
|
0x0065f802,
|
|
|
|
0x0066001a,
|
|
|
|
0x00661002,
|
|
|
|
0x0066181a,
|
|
|
|
0x00663002,
|
|
|
|
0x0066381a,
|
|
|
|
0x0066501a,
|
|
|
|
0x00666012,
|
|
|
|
0x0066a812,
|
|
|
|
0x00671012,
|
|
|
|
0x00680012,
|
|
|
|
0x0068101a,
|
|
|
|
0x0069d812,
|
|
|
|
0x0069f002,
|
|
|
|
0x0069f81a,
|
|
|
|
0x006a0832,
|
|
|
|
0x006a302a,
|
|
|
|
0x006a502a,
|
|
|
|
0x006a6802,
|
|
|
|
0x006a7008,
|
|
|
|
0x006ab802,
|
|
|
|
0x006b1012,
|
|
|
|
0x006c0802,
|
|
|
|
0x006c101a,
|
|
|
|
0x006e5002,
|
|
|
|
0x006e7802,
|
|
|
|
0x006e801a,
|
|
|
|
0x006e9022,
|
|
|
|
0x006eb002,
|
|
|
|
0x006ec06a,
|
|
|
|
0x006ef802,
|
|
|
|
0x006f901a,
|
|
|
|
0x00718802,
|
|
|
|
0x0071980a,
|
|
|
|
0x0071a062,
|
|
|
|
0x00723872,
|
|
|
|
0x00758802,
|
|
|
|
0x0075980a,
|
|
|
|
0x0075a082,
|
|
|
|
0x00764052,
|
|
|
|
0x0078c012,
|
|
|
|
0x0079a802,
|
|
|
|
0x0079b802,
|
|
|
|
0x0079c802,
|
|
|
|
0x0079f01a,
|
|
|
|
0x007b88d2,
|
|
|
|
0x007bf80a,
|
|
|
|
0x007c0042,
|
|
|
|
0x007c3012,
|
|
|
|
0x007c68a2,
|
|
|
|
0x007cca32,
|
|
|
|
0x007e3002,
|
|
|
|
0x00816832,
|
|
|
|
0x0081880a,
|
|
|
|
0x00819052,
|
|
|
|
0x0081c812,
|
|
|
|
0x0081d81a,
|
|
|
|
0x0081e812,
|
|
|
|
0x0082b01a,
|
|
|
|
0x0082c012,
|
|
|
|
0x0082f022,
|
|
|
|
0x00838832,
|
|
|
|
0x00841002,
|
|
|
|
0x0084200a,
|
|
|
|
0x00842812,
|
|
|
|
0x00846802,
|
|
|
|
0x0084e802,
|
|
|
|
0x008805f4,
|
|
|
|
0x008b047c,
|
|
|
|
0x008d457b,
|
|
|
|
0x009ae822,
|
|
|
|
0x00b89022,
|
|
|
|
0x00b8a80a,
|
|
|
|
0x00b99012,
|
|
|
|
0x00b9a00a,
|
|
|
|
0x00ba9012,
|
|
|
|
0x00bb9012,
|
|
|
|
0x00bda012,
|
|
|
|
0x00bdb00a,
|
|
|
|
0x00bdb862,
|
|
|
|
0x00bdf07a,
|
|
|
|
0x00be3002,
|
|
|
|
0x00be381a,
|
|
|
|
0x00be48a2,
|
|
|
|
0x00bee802,
|
|
|
|
0x00c05822,
|
|
|
|
0x00c07001,
|
|
|
|
0x00c07802,
|
|
|
|
0x00c42812,
|
|
|
|
0x00c54802,
|
|
|
|
0x00c90022,
|
|
|
|
0x00c9183a,
|
|
|
|
0x00c93812,
|
|
|
|
0x00c9482a,
|
|
|
|
0x00c9801a,
|
|
|
|
0x00c99002,
|
|
|
|
0x00c9985a,
|
|
|
|
0x00c9c822,
|
|
|
|
0x00d0b812,
|
|
|
|
0x00d0c81a,
|
|
|
|
0x00d0d802,
|
|
|
|
0x00d2a80a,
|
|
|
|
0x00d2b002,
|
|
|
|
0x00d2b80a,
|
|
|
|
0x00d2c062,
|
|
|
|
0x00d30002,
|
|
|
|
0x00d31002,
|
|
|
|
0x00d32872,
|
|
|
|
0x00d3685a,
|
|
|
|
0x00d39892,
|
|
|
|
0x00d3f802,
|
|
|
|
0x00d581e2,
|
|
|
|
0x00d80032,
|
|
|
|
0x00d8200a,
|
|
|
|
0x00d9a062,
|
|
|
|
0x00d9d80a,
|
|
|
|
0x00d9e002,
|
|
|
|
0x00d9e84a,
|
|
|
|
0x00da1002,
|
|
|
|
0x00da181a,
|
|
|
|
0x00db5882,
|
|
|
|
0x00dc0012,
|
|
|
|
0x00dc100a,
|
|
|
|
0x00dd080a,
|
|
|
|
0x00dd1032,
|
|
|
|
0x00dd301a,
|
|
|
|
0x00dd4012,
|
|
|
|
0x00dd500a,
|
|
|
|
0x00dd5822,
|
|
|
|
0x00df3002,
|
|
|
|
0x00df380a,
|
|
|
|
0x00df4012,
|
|
|
|
0x00df502a,
|
|
|
|
0x00df6802,
|
|
|
|
0x00df700a,
|
|
|
|
0x00df7822,
|
|
|
|
0x00df901a,
|
|
|
|
0x00e1207a,
|
|
|
|
0x00e16072,
|
|
|
|
0x00e1a01a,
|
|
|
|
0x00e1b012,
|
|
|
|
0x00e68022,
|
|
|
|
0x00e6a0c2,
|
|
|
|
0x00e7080a,
|
|
|
|
0x00e71062,
|
|
|
|
0x00e76802,
|
|
|
|
0x00e7a002,
|
|
|
|
0x00e7b80a,
|
|
|
|
0x00e7c012,
|
|
|
|
0x00ee03f2,
|
|
|
|
0x01005801,
|
|
|
|
0x01006002,
|
|
|
|
0x0100680d,
|
|
|
|
0x01007011,
|
|
|
|
0x01014061,
|
|
|
|
0x0101e003,
|
|
|
|
0x01024803,
|
|
|
|
0x010300f1,
|
|
|
|
0x01068202,
|
|
|
|
0x01091003,
|
|
|
|
0x0109c803,
|
|
|
|
0x010ca053,
|
|
|
|
0x010d4813,
|
|
|
|
0x0118d013,
|
|
|
|
0x01194003,
|
|
|
|
0x011c4003,
|
|
|
|
0x011e7803,
|
|
|
|
0x011f48a3,
|
|
|
|
0x011fc023,
|
|
|
|
0x01261003,
|
|
|
|
0x012d5013,
|
|
|
|
0x012db003,
|
|
|
|
0x012e0003,
|
|
|
|
0x012fd833,
|
|
|
|
0x01300053,
|
|
|
|
0x013038b3,
|
|
|
|
0x0130a713,
|
|
|
|
0x01348753,
|
|
|
|
0x013840a3,
|
|
|
|
0x0138a003,
|
|
|
|
0x0138b003,
|
|
|
|
0x0138e803,
|
|
|
|
0x01390803,
|
|
|
|
0x01394003,
|
|
|
|
0x01399813,
|
|
|
|
0x013a2003,
|
|
|
|
0x013a3803,
|
|
|
|
0x013a6003,
|
|
|
|
0x013a7003,
|
|
|
|
0x013a9823,
|
|
|
|
0x013ab803,
|
|
|
|
0x013b1843,
|
|
|
|
0x013ca823,
|
|
|
|
0x013d0803,
|
|
|
|
0x013d8003,
|
|
|
|
0x013df803,
|
|
|
|
0x0149a013,
|
|
|
|
0x01582823,
|
|
|
|
0x0158d813,
|
|
|
|
0x015a8003,
|
|
|
|
0x015aa803,
|
|
|
|
0x01677822,
|
|
|
|
0x016bf802,
|
|
|
|
0x016f01f2,
|
|
|
|
0x01815052,
|
|
|
|
0x01818003,
|
|
|
|
0x0181e803,
|
|
|
|
0x0184c812,
|
|
|
|
0x0194b803,
|
|
|
|
0x0194c803,
|
|
|
|
0x05337832,
|
|
|
|
0x0533a092,
|
|
|
|
0x0534f012,
|
|
|
|
0x05378012,
|
|
|
|
0x05401002,
|
|
|
|
0x05403002,
|
|
|
|
0x05405802,
|
|
|
|
0x0541181a,
|
|
|
|
0x05412812,
|
|
|
|
0x0541380a,
|
|
|
|
0x05416002,
|
|
|
|
0x0544001a,
|
|
|
|
0x0545a0fa,
|
|
|
|
0x05462012,
|
|
|
|
0x05470112,
|
|
|
|
0x0547f802,
|
|
|
|
0x05493072,
|
|
|
|
0x054a38a2,
|
|
|
|
0x054a901a,
|
|
|
|
0x054b01c4,
|
|
|
|
0x054c0022,
|
|
|
|
0x054c180a,
|
|
|
|
0x054d9802,
|
|
|
|
0x054da01a,
|
|
|
|
0x054db032,
|
|
|
|
0x054dd01a,
|
|
|
|
0x054de012,
|
|
|
|
0x054df02a,
|
|
|
|
0x054f2802,
|
|
|
|
0x05514852,
|
|
|
|
0x0551781a,
|
|
|
|
0x05518812,
|
|
|
|
0x0551981a,
|
|
|
|
0x0551a812,
|
|
|
|
0x05521802,
|
|
|
|
0x05526002,
|
|
|
|
0x0552680a,
|
|
|
|
0x0553e002,
|
|
|
|
0x05558002,
|
|
|
|
0x05559022,
|
|
|
|
0x0555b812,
|
|
|
|
0x0555f012,
|
|
|
|
0x05560802,
|
|
|
|
0x0557580a,
|
|
|
|
0x05576012,
|
|
|
|
0x0557701a,
|
|
|
|
0x0557a80a,
|
|
|
|
0x0557b002,
|
|
|
|
0x055f181a,
|
|
|
|
0x055f2802,
|
|
|
|
0x055f301a,
|
|
|
|
0x055f4002,
|
|
|
|
0x055f481a,
|
|
|
|
0x055f600a,
|
|
|
|
0x055f6802,
|
|
|
|
0x05600006,
|
|
|
|
0x056009a7,
|
|
|
|
0x0560e006,
|
|
|
|
0x0560e9a7,
|
|
|
|
0x0561c006,
|
|
|
|
0x0561c9a7,
|
|
|
|
0x0562a006,
|
|
|
|
0x0562a9a7,
|
|
|
|
0x05638006,
|
|
|
|
0x056389a7,
|
|
|
|
0x05646006,
|
|
|
|
0x056469a7,
|
|
|
|
0x05654006,
|
|
|
|
0x056549a7,
|
|
|
|
0x05662006,
|
|
|
|
0x056629a7,
|
|
|
|
0x05670006,
|
|
|
|
0x056709a7,
|
|
|
|
0x0567e006,
|
|
|
|
0x0567e9a7,
|
|
|
|
0x0568c006,
|
|
|
|
0x0568c9a7,
|
|
|
|
0x0569a006,
|
|
|
|
0x0569a9a7,
|
|
|
|
0x056a8006,
|
|
|
|
0x056a89a7,
|
|
|
|
0x056b6006,
|
|
|
|
0x056b69a7,
|
|
|
|
0x056c4006,
|
|
|
|
0x056c49a7,
|
|
|
|
0x056d2006,
|
|
|
|
0x056d29a7,
|
|
|
|
0x056e0006,
|
|
|
|
0x056e09a7,
|
|
|
|
0x056ee006,
|
|
|
|
0x056ee9a7,
|
|
|
|
0x056fc006,
|
|
|
|
0x056fc9a7,
|
|
|
|
0x0570a006,
|
|
|
|
0x0570a9a7,
|
|
|
|
0x05718006,
|
|
|
|
0x057189a7,
|
|
|
|
0x05726006,
|
|
|
|
0x057269a7,
|
|
|
|
0x05734006,
|
|
|
|
0x057349a7,
|
|
|
|
0x05742006,
|
|
|
|
0x057429a7,
|
|
|
|
0x05750006,
|
|
|
|
0x057509a7,
|
|
|
|
0x0575e006,
|
|
|
|
0x0575e9a7,
|
|
|
|
0x0576c006,
|
|
|
|
0x0576c9a7,
|
|
|
|
0x0577a006,
|
|
|
|
0x0577a9a7,
|
|
|
|
0x05788006,
|
|
|
|
0x057889a7,
|
|
|
|
0x05796006,
|
|
|
|
0x057969a7,
|
|
|
|
0x057a4006,
|
|
|
|
0x057a49a7,
|
|
|
|
0x057b2006,
|
|
|
|
0x057b29a7,
|
|
|
|
0x057c0006,
|
|
|
|
0x057c09a7,
|
|
|
|
0x057ce006,
|
|
|
|
0x057ce9a7,
|
|
|
|
0x057dc006,
|
|
|
|
0x057dc9a7,
|
|
|
|
0x057ea006,
|
|
|
|
0x057ea9a7,
|
|
|
|
0x057f8006,
|
|
|
|
0x057f89a7,
|
|
|
|
0x05806006,
|
|
|
|
0x058069a7,
|
|
|
|
0x05814006,
|
|
|
|
0x058149a7,
|
|
|
|
0x05822006,
|
|
|
|
0x058229a7,
|
|
|
|
0x05830006,
|
|
|
|
0x058309a7,
|
|
|
|
0x0583e006,
|
|
|
|
0x0583e9a7,
|
|
|
|
0x0584c006,
|
|
|
|
0x0584c9a7,
|
|
|
|
0x0585a006,
|
|
|
|
0x0585a9a7,
|
|
|
|
0x05868006,
|
|
|
|
0x058689a7,
|
|
|
|
0x05876006,
|
|
|
|
0x058769a7,
|
|
|
|
0x05884006,
|
|
|
|
0x058849a7,
|
|
|
|
0x05892006,
|
|
|
|
0x058929a7,
|
|
|
|
0x058a0006,
|
|
|
|
0x058a09a7,
|
|
|
|
0x058ae006,
|
|
|
|
0x058ae9a7,
|
|
|
|
0x058bc006,
|
|
|
|
0x058bc9a7,
|
|
|
|
0x058ca006,
|
|
|
|
0x058ca9a7,
|
|
|
|
0x058d8006,
|
|
|
|
0x058d89a7,
|
|
|
|
0x058e6006,
|
|
|
|
0x058e69a7,
|
|
|
|
0x058f4006,
|
|
|
|
0x058f49a7,
|
|
|
|
0x05902006,
|
|
|
|
0x059029a7,
|
|
|
|
0x05910006,
|
|
|
|
0x059109a7,
|
|
|
|
0x0591e006,
|
|
|
|
0x0591e9a7,
|
|
|
|
0x0592c006,
|
|
|
|
0x0592c9a7,
|
|
|
|
0x0593a006,
|
|
|
|
0x0593a9a7,
|
|
|
|
0x05948006,
|
|
|
|
0x059489a7,
|
|
|
|
0x05956006,
|
|
|
|
0x059569a7,
|
|
|
|
0x05964006,
|
|
|
|
0x059649a7,
|
|
|
|
0x05972006,
|
|
|
|
0x059729a7,
|
|
|
|
0x05980006,
|
|
|
|
0x059809a7,
|
|
|
|
0x0598e006,
|
|
|
|
0x0598e9a7,
|
|
|
|
0x0599c006,
|
|
|
|
0x0599c9a7,
|
|
|
|
0x059aa006,
|
|
|
|
0x059aa9a7,
|
|
|
|
0x059b8006,
|
|
|
|
0x059b89a7,
|
|
|
|
0x059c6006,
|
|
|
|
0x059c69a7,
|
|
|
|
0x059d4006,
|
|
|
|
0x059d49a7,
|
|
|
|
0x059e2006,
|
|
|
|
0x059e29a7,
|
|
|
|
0x059f0006,
|
|
|
|
0x059f09a7,
|
|
|
|
0x059fe006,
|
|
|
|
0x059fe9a7,
|
|
|
|
0x05a0c006,
|
|
|
|
0x05a0c9a7,
|
|
|
|
0x05a1a006,
|
|
|
|
0x05a1a9a7,
|
|
|
|
0x05a28006,
|
|
|
|
0x05a289a7,
|
|
|
|
0x05a36006,
|
|
|
|
0x05a369a7,
|
|
|
|
0x05a44006,
|
|
|
|
0x05a449a7,
|
|
|
|
0x05a52006,
|
|
|
|
0x05a529a7,
|
|
|
|
0x05a60006,
|
|
|
|
0x05a609a7,
|
|
|
|
0x05a6e006,
|
|
|
|
0x05a6e9a7,
|
|
|
|
0x05a7c006,
|
|
|
|
0x05a7c9a7,
|
|
|
|
0x05a8a006,
|
|
|
|
0x05a8a9a7,
|
|
|
|
0x05a98006,
|
|
|
|
0x05a989a7,
|
|
|
|
0x05aa6006,
|
|
|
|
0x05aa69a7,
|
|
|
|
0x05ab4006,
|
|
|
|
0x05ab49a7,
|
|
|
|
0x05ac2006,
|
|
|
|
0x05ac29a7,
|
|
|
|
0x05ad0006,
|
|
|
|
0x05ad09a7,
|
|
|
|
0x05ade006,
|
|
|
|
0x05ade9a7,
|
|
|
|
0x05aec006,
|
|
|
|
0x05aec9a7,
|
|
|
|
0x05afa006,
|
|
|
|
0x05afa9a7,
|
|
|
|
0x05b08006,
|
|
|
|
0x05b089a7,
|
|
|
|
0x05b16006,
|
|
|
|
0x05b169a7,
|
|
|
|
0x05b24006,
|
|
|
|
0x05b249a7,
|
|
|
|
0x05b32006,
|
|
|
|
0x05b329a7,
|
|
|
|
0x05b40006,
|
|
|
|
0x05b409a7,
|
|
|
|
0x05b4e006,
|
|
|
|
0x05b4e9a7,
|
|
|
|
0x05b5c006,
|
|
|
|
0x05b5c9a7,
|
|
|
|
0x05b6a006,
|
|
|
|
0x05b6a9a7,
|
|
|
|
0x05b78006,
|
|
|
|
0x05b789a7,
|
|
|
|
0x05b86006,
|
|
|
|
0x05b869a7,
|
|
|
|
0x05b94006,
|
|
|
|
0x05b949a7,
|
|
|
|
0x05ba2006,
|
|
|
|
0x05ba29a7,
|
|
|
|
0x05bb0006,
|
|
|
|
0x05bb09a7,
|
|
|
|
0x05bbe006,
|
|
|
|
0x05bbe9a7,
|
|
|
|
0x05bcc006,
|
|
|
|
0x05bcc9a7,
|
|
|
|
0x05bda006,
|
|
|
|
0x05bda9a7,
|
|
|
|
0x05be8006,
|
|
|
|
0x05be89a7,
|
|
|
|
0x05bf6006,
|
|
|
|
0x05bf69a7,
|
|
|
|
0x05c04006,
|
|
|
|
0x05c049a7,
|
|
|
|
0x05c12006,
|
|
|
|
0x05c129a7,
|
|
|
|
0x05c20006,
|
|
|
|
0x05c209a7,
|
|
|
|
0x05c2e006,
|
|
|
|
0x05c2e9a7,
|
|
|
|
0x05c3c006,
|
|
|
|
0x05c3c9a7,
|
|
|
|
0x05c4a006,
|
|
|
|
0x05c4a9a7,
|
|
|
|
0x05c58006,
|
|
|
|
0x05c589a7,
|
|
|
|
0x05c66006,
|
|
|
|
0x05c669a7,
|
|
|
|
0x05c74006,
|
|
|
|
0x05c749a7,
|
|
|
|
0x05c82006,
|
|
|
|
0x05c829a7,
|
|
|
|
0x05c90006,
|
|
|
|
0x05c909a7,
|
|
|
|
0x05c9e006,
|
|
|
|
0x05c9e9a7,
|
|
|
|
0x05cac006,
|
|
|
|
0x05cac9a7,
|
|
|
|
0x05cba006,
|
|
|
|
0x05cba9a7,
|
|
|
|
0x05cc8006,
|
|
|
|
0x05cc89a7,
|
|
|
|
0x05cd6006,
|
|
|
|
0x05cd69a7,
|
|
|
|
0x05ce4006,
|
|
|
|
0x05ce49a7,
|
|
|
|
0x05cf2006,
|
|
|
|
0x05cf29a7,
|
|
|
|
0x05d00006,
|
|
|
|
0x05d009a7,
|
|
|
|
0x05d0e006,
|
|
|
|
0x05d0e9a7,
|
|
|
|
0x05d1c006,
|
|
|
|
0x05d1c9a7,
|
|
|
|
0x05d2a006,
|
|
|
|
0x05d2a9a7,
|
|
|
|
0x05d38006,
|
|
|
|
0x05d389a7,
|
|
|
|
0x05d46006,
|
|
|
|
0x05d469a7,
|
|
|
|
0x05d54006,
|
|
|
|
0x05d549a7,
|
|
|
|
0x05d62006,
|
|
|
|
0x05d629a7,
|
|
|
|
0x05d70006,
|
|
|
|
0x05d709a7,
|
|
|
|
0x05d7e006,
|
|
|
|
0x05d7e9a7,
|
|
|
|
0x05d8c006,
|
|
|
|
0x05d8c9a7,
|
|
|
|
0x05d9a006,
|
|
|
|
0x05d9a9a7,
|
|
|
|
0x05da8006,
|
|
|
|
0x05da89a7,
|
|
|
|
0x05db6006,
|
|
|
|
0x05db69a7,
|
|
|
|
0x05dc4006,
|
|
|
|
0x05dc49a7,
|
|
|
|
0x05dd2006,
|
|
|
|
0x05dd29a7,
|
|
|
|
0x05de0006,
|
|
|
|
0x05de09a7,
|
|
|
|
0x05dee006,
|
|
|
|
0x05dee9a7,
|
|
|
|
0x05dfc006,
|
|
|
|
0x05dfc9a7,
|
|
|
|
0x05e0a006,
|
|
|
|
0x05e0a9a7,
|
|
|
|
0x05e18006,
|
|
|
|
0x05e189a7,
|
|
|
|
0x05e26006,
|
|
|
|
0x05e269a7,
|
|
|
|
0x05e34006,
|
|
|
|
0x05e349a7,
|
|
|
|
0x05e42006,
|
|
|
|
0x05e429a7,
|
|
|
|
0x05e50006,
|
|
|
|
0x05e509a7,
|
|
|
|
0x05e5e006,
|
|
|
|
0x05e5e9a7,
|
|
|
|
0x05e6c006,
|
|
|
|
0x05e6c9a7,
|
|
|
|
0x05e7a006,
|
|
|
|
0x05e7a9a7,
|
|
|
|
0x05e88006,
|
|
|
|
0x05e889a7,
|
|
|
|
0x05e96006,
|
|
|
|
0x05e969a7,
|
|
|
|
0x05ea4006,
|
|
|
|
0x05ea49a7,
|
|
|
|
0x05eb2006,
|
|
|
|
0x05eb29a7,
|
|
|
|
0x05ec0006,
|
|
|
|
0x05ec09a7,
|
|
|
|
0x05ece006,
|
|
|
|
0x05ece9a7,
|
|
|
|
0x05edc006,
|
|
|
|
0x05edc9a7,
|
|
|
|
0x05eea006,
|
|
|
|
0x05eea9a7,
|
|
|
|
0x05ef8006,
|
|
|
|
0x05ef89a7,
|
|
|
|
0x05f06006,
|
|
|
|
0x05f069a7,
|
|
|
|
0x05f14006,
|
|
|
|
0x05f149a7,
|
|
|
|
0x05f22006,
|
|
|
|
0x05f229a7,
|
|
|
|
0x05f30006,
|
|
|
|
0x05f309a7,
|
|
|
|
0x05f3e006,
|
|
|
|
0x05f3e9a7,
|
|
|
|
0x05f4c006,
|
|
|
|
0x05f4c9a7,
|
|
|
|
0x05f5a006,
|
|
|
|
0x05f5a9a7,
|
|
|
|
0x05f68006,
|
|
|
|
0x05f689a7,
|
|
|
|
0x05f76006,
|
|
|
|
0x05f769a7,
|
|
|
|
0x05f84006,
|
|
|
|
0x05f849a7,
|
|
|
|
0x05f92006,
|
|
|
|
0x05f929a7,
|
|
|
|
0x05fa0006,
|
|
|
|
0x05fa09a7,
|
|
|
|
0x05fae006,
|
|
|
|
0x05fae9a7,
|
|
|
|
0x05fbc006,
|
|
|
|
0x05fbc9a7,
|
|
|
|
0x05fca006,
|
|
|
|
0x05fca9a7,
|
|
|
|
0x05fd8006,
|
|
|
|
0x05fd89a7,
|
|
|
|
0x05fe6006,
|
|
|
|
0x05fe69a7,
|
|
|
|
0x05ff4006,
|
|
|
|
0x05ff49a7,
|
|
|
|
0x06002006,
|
|
|
|
0x060029a7,
|
|
|
|
0x06010006,
|
|
|
|
0x060109a7,
|
|
|
|
0x0601e006,
|
|
|
|
0x0601e9a7,
|
|
|
|
0x0602c006,
|
|
|
|
0x0602c9a7,
|
|
|
|
0x0603a006,
|
|
|
|
0x0603a9a7,
|
|
|
|
0x06048006,
|
|
|
|
0x060489a7,
|
|
|
|
0x06056006,
|
|
|
|
0x060569a7,
|
|
|
|
0x06064006,
|
|
|
|
0x060649a7,
|
|
|
|
0x06072006,
|
|
|
|
0x060729a7,
|
|
|
|
0x06080006,
|
|
|
|
0x060809a7,
|
|
|
|
0x0608e006,
|
|
|
|
0x0608e9a7,
|
|
|
|
0x0609c006,
|
|
|
|
0x0609c9a7,
|
|
|
|
0x060aa006,
|
|
|
|
0x060aa9a7,
|
|
|
|
0x060b8006,
|
|
|
|
0x060b89a7,
|
|
|
|
0x060c6006,
|
|
|
|
0x060c69a7,
|
|
|
|
0x060d4006,
|
|
|
|
0x060d49a7,
|
|
|
|
0x060e2006,
|
|
|
|
0x060e29a7,
|
|
|
|
0x060f0006,
|
|
|
|
0x060f09a7,
|
|
|
|
0x060fe006,
|
|
|
|
0x060fe9a7,
|
|
|
|
0x0610c006,
|
|
|
|
0x0610c9a7,
|
|
|
|
0x0611a006,
|
|
|
|
0x0611a9a7,
|
|
|
|
0x06128006,
|
|
|
|
0x061289a7,
|
|
|
|
0x06136006,
|
|
|
|
0x061369a7,
|
|
|
|
0x06144006,
|
|
|
|
0x061449a7,
|
|
|
|
0x06152006,
|
|
|
|
0x061529a7,
|
|
|
|
0x06160006,
|
|
|
|
0x061609a7,
|
|
|
|
0x0616e006,
|
|
|
|
0x0616e9a7,
|
|
|
|
0x0617c006,
|
|
|
|
0x0617c9a7,
|
|
|
|
0x0618a006,
|
|
|
|
0x0618a9a7,
|
|
|
|
0x06198006,
|
|
|
|
0x061989a7,
|
|
|
|
0x061a6006,
|
|
|
|
0x061a69a7,
|
|
|
|
0x061b4006,
|
|
|
|
0x061b49a7,
|
|
|
|
0x061c2006,
|
|
|
|
0x061c29a7,
|
|
|
|
0x061d0006,
|
|
|
|
0x061d09a7,
|
|
|
|
0x061de006,
|
|
|
|
0x061de9a7,
|
|
|
|
0x061ec006,
|
|
|
|
0x061ec9a7,
|
|
|
|
0x061fa006,
|
|
|
|
0x061fa9a7,
|
|
|
|
0x06208006,
|
|
|
|
0x062089a7,
|
|
|
|
0x06216006,
|
|
|
|
0x062169a7,
|
|
|
|
0x06224006,
|
|
|
|
0x062249a7,
|
|
|
|
0x06232006,
|
|
|
|
0x062329a7,
|
|
|
|
0x06240006,
|
|
|
|
0x062409a7,
|
|
|
|
0x0624e006,
|
|
|
|
0x0624e9a7,
|
|
|
|
0x0625c006,
|
|
|
|
0x0625c9a7,
|
|
|
|
0x0626a006,
|
|
|
|
0x0626a9a7,
|
|
|
|
0x06278006,
|
|
|
|
0x062789a7,
|
|
|
|
0x06286006,
|
|
|
|
0x062869a7,
|
|
|
|
0x06294006,
|
|
|
|
0x062949a7,
|
|
|
|
0x062a2006,
|
|
|
|
0x062a29a7,
|
|
|
|
0x062b0006,
|
|
|
|
0x062b09a7,
|
|
|
|
0x062be006,
|
|
|
|
0x062be9a7,
|
|
|
|
0x062cc006,
|
|
|
|
0x062cc9a7,
|
|
|
|
0x062da006,
|
|
|
|
0x062da9a7,
|
|
|
|
0x062e8006,
|
|
|
|
0x062e89a7,
|
|
|
|
0x062f6006,
|
|
|
|
0x062f69a7,
|
|
|
|
0x06304006,
|
|
|
|
0x063049a7,
|
|
|
|
0x06312006,
|
|
|
|
0x063129a7,
|
|
|
|
0x06320006,
|
|
|
|
0x063209a7,
|
|
|
|
0x0632e006,
|
|
|
|
0x0632e9a7,
|
|
|
|
0x0633c006,
|
|
|
|
0x0633c9a7,
|
|
|
|
0x0634a006,
|
|
|
|
0x0634a9a7,
|
|
|
|
0x06358006,
|
|
|
|
0x063589a7,
|
|
|
|
0x06366006,
|
|
|
|
0x063669a7,
|
|
|
|
0x06374006,
|
|
|
|
0x063749a7,
|
|
|
|
0x06382006,
|
|
|
|
0x063829a7,
|
|
|
|
0x06390006,
|
|
|
|
0x063909a7,
|
|
|
|
0x0639e006,
|
|
|
|
0x0639e9a7,
|
|
|
|
0x063ac006,
|
|
|
|
0x063ac9a7,
|
|
|
|
0x063ba006,
|
|
|
|
0x063ba9a7,
|
|
|
|
0x063c8006,
|
|
|
|
0x063c89a7,
|
|
|
|
0x063d6006,
|
|
|
|
0x063d69a7,
|
|
|
|
0x063e4006,
|
|
|
|
0x063e49a7,
|
|
|
|
0x063f2006,
|
|
|
|
0x063f29a7,
|
|
|
|
0x06400006,
|
|
|
|
0x064009a7,
|
|
|
|
0x0640e006,
|
|
|
|
0x0640e9a7,
|
|
|
|
0x0641c006,
|
|
|
|
0x0641c9a7,
|
|
|
|
0x0642a006,
|
|
|
|
0x0642a9a7,
|
|
|
|
0x06438006,
|
|
|
|
0x064389a7,
|
|
|
|
0x06446006,
|
|
|
|
0x064469a7,
|
|
|
|
0x06454006,
|
|
|
|
0x064549a7,
|
|
|
|
0x06462006,
|
|
|
|
0x064629a7,
|
|
|
|
0x06470006,
|
|
|
|
0x064709a7,
|
|
|
|
0x0647e006,
|
|
|
|
0x0647e9a7,
|
|
|
|
0x0648c006,
|
|
|
|
0x0648c9a7,
|
|
|
|
0x0649a006,
|
|
|
|
0x0649a9a7,
|
|
|
|
0x064a8006,
|
|
|
|
0x064a89a7,
|
|
|
|
0x064b6006,
|
|
|
|
0x064b69a7,
|
|
|
|
0x064c4006,
|
|
|
|
0x064c49a7,
|
|
|
|
0x064d2006,
|
|
|
|
0x064d29a7,
|
|
|
|
0x064e0006,
|
|
|
|
0x064e09a7,
|
|
|
|
0x064ee006,
|
|
|
|
0x064ee9a7,
|
|
|
|
0x064fc006,
|
|
|
|
0x064fc9a7,
|
|
|
|
0x0650a006,
|
|
|
|
0x0650a9a7,
|
|
|
|
0x06518006,
|
|
|
|
0x065189a7,
|
|
|
|
0x06526006,
|
|
|
|
0x065269a7,
|
|
|
|
0x06534006,
|
|
|
|
0x065349a7,
|
|
|
|
0x06542006,
|
|
|
|
0x065429a7,
|
|
|
|
0x06550006,
|
|
|
|
0x065509a7,
|
|
|
|
0x0655e006,
|
|
|
|
0x0655e9a7,
|
|
|
|
0x0656c006,
|
|
|
|
0x0656c9a7,
|
|
|
|
0x0657a006,
|
|
|
|
0x0657a9a7,
|
|
|
|
0x06588006,
|
|
|
|
0x065889a7,
|
|
|
|
0x06596006,
|
|
|
|
0x065969a7,
|
|
|
|
0x065a4006,
|
|
|
|
0x065a49a7,
|
|
|
|
0x065b2006,
|
|
|
|
0x065b29a7,
|
|
|
|
0x065c0006,
|
|
|
|
0x065c09a7,
|
|
|
|
0x065ce006,
|
|
|
|
0x065ce9a7,
|
|
|
|
0x065dc006,
|
|
|
|
0x065dc9a7,
|
|
|
|
0x065ea006,
|
|
|
|
0x065ea9a7,
|
|
|
|
0x065f8006,
|
|
|
|
0x065f89a7,
|
|
|
|
0x06606006,
|
|
|
|
0x066069a7,
|
|
|
|
0x06614006,
|
|
|
|
0x066149a7,
|
|
|
|
0x06622006,
|
|
|
|
0x066229a7,
|
|
|
|
0x06630006,
|
|
|
|
0x066309a7,
|
|
|
|
0x0663e006,
|
|
|
|
0x0663e9a7,
|
|
|
|
0x0664c006,
|
|
|
|
0x0664c9a7,
|
|
|
|
0x0665a006,
|
|
|
|
0x0665a9a7,
|
|
|
|
0x06668006,
|
|
|
|
0x066689a7,
|
|
|
|
0x06676006,
|
|
|
|
0x066769a7,
|
|
|
|
0x06684006,
|
|
|
|
0x066849a7,
|
|
|
|
0x06692006,
|
|
|
|
0x066929a7,
|
|
|
|
0x066a0006,
|
|
|
|
0x066a09a7,
|
|
|
|
0x066ae006,
|
|
|
|
0x066ae9a7,
|
|
|
|
0x066bc006,
|
|
|
|
0x066bc9a7,
|
|
|
|
0x066ca006,
|
|
|
|
0x066ca9a7,
|
|
|
|
0x066d8006,
|
|
|
|
0x066d89a7,
|
|
|
|
0x066e6006,
|
|
|
|
0x066e69a7,
|
|
|
|
0x066f4006,
|
|
|
|
0x066f49a7,
|
|
|
|
0x06702006,
|
|
|
|
0x067029a7,
|
|
|
|
0x06710006,
|
|
|
|
0x067109a7,
|
|
|
|
0x0671e006,
|
|
|
|
0x0671e9a7,
|
|
|
|
0x0672c006,
|
|
|
|
0x0672c9a7,
|
|
|
|
0x0673a006,
|
|
|
|
0x0673a9a7,
|
|
|
|
0x06748006,
|
|
|
|
0x067489a7,
|
|
|
|
0x06756006,
|
|
|
|
0x067569a7,
|
|
|
|
0x06764006,
|
|
|
|
0x067649a7,
|
|
|
|
0x06772006,
|
|
|
|
0x067729a7,
|
|
|
|
0x06780006,
|
|
|
|
0x067809a7,
|
|
|
|
0x0678e006,
|
|
|
|
0x0678e9a7,
|
|
|
|
0x0679c006,
|
|
|
|
0x0679c9a7,
|
|
|
|
0x067aa006,
|
|
|
|
0x067aa9a7,
|
|
|
|
0x067b8006,
|
|
|
|
0x067b89a7,
|
|
|
|
0x067c6006,
|
|
|
|
0x067c69a7,
|
|
|
|
0x067d4006,
|
|
|
|
0x067d49a7,
|
|
|
|
0x067e2006,
|
|
|
|
0x067e29a7,
|
|
|
|
0x067f0006,
|
|
|
|
0x067f09a7,
|
|
|
|
0x067fe006,
|
|
|
|
0x067fe9a7,
|
|
|
|
0x0680c006,
|
|
|
|
0x0680c9a7,
|
|
|
|
0x0681a006,
|
|
|
|
0x0681a9a7,
|
|
|
|
0x06828006,
|
|
|
|
0x068289a7,
|
|
|
|
0x06836006,
|
|
|
|
0x068369a7,
|
|
|
|
0x06844006,
|
|
|
|
0x068449a7,
|
|
|
|
0x06852006,
|
|
|
|
0x068529a7,
|
|
|
|
0x06860006,
|
|
|
|
0x068609a7,
|
|
|
|
0x0686e006,
|
|
|
|
0x0686e9a7,
|
|
|
|
0x0687c006,
|
|
|
|
0x0687c9a7,
|
|
|
|
0x0688a006,
|
|
|
|
0x0688a9a7,
|
|
|
|
0x06898006,
|
|
|
|
0x068989a7,
|
|
|
|
0x068a6006,
|
|
|
|
0x068a69a7,
|
|
|
|
0x068b4006,
|
|
|
|
0x068b49a7,
|
|
|
|
0x068c2006,
|
|
|
|
0x068c29a7,
|
|
|
|
0x068d0006,
|
|
|
|
0x068d09a7,
|
|
|
|
0x068de006,
|
|
|
|
0x068de9a7,
|
|
|
|
0x068ec006,
|
|
|
|
0x068ec9a7,
|
|
|
|
0x068fa006,
|
|
|
|
0x068fa9a7,
|
|
|
|
0x06908006,
|
|
|
|
0x069089a7,
|
|
|
|
0x06916006,
|
|
|
|
0x069169a7,
|
|
|
|
0x06924006,
|
|
|
|
0x069249a7,
|
|
|
|
0x06932006,
|
|
|
|
0x069329a7,
|
|
|
|
0x06940006,
|
|
|
|
0x069409a7,
|
|
|
|
0x0694e006,
|
|
|
|
0x0694e9a7,
|
|
|
|
0x0695c006,
|
|
|
|
0x0695c9a7,
|
|
|
|
0x0696a006,
|
|
|
|
0x0696a9a7,
|
|
|
|
0x06978006,
|
|
|
|
0x069789a7,
|
|
|
|
0x06986006,
|
|
|
|
0x069869a7,
|
|
|
|
0x06994006,
|
|
|
|
0x069949a7,
|
|
|
|
0x069a2006,
|
|
|
|
0x069a29a7,
|
|
|
|
0x069b0006,
|
|
|
|
0x069b09a7,
|
|
|
|
0x069be006,
|
|
|
|
0x069be9a7,
|
|
|
|
0x069cc006,
|
|
|
|
0x069cc9a7,
|
|
|
|
0x069da006,
|
|
|
|
0x069da9a7,
|
|
|
|
0x069e8006,
|
|
|
|
0x069e89a7,
|
|
|
|
0x069f6006,
|
|
|
|
0x069f69a7,
|
|
|
|
0x06a04006,
|
|
|
|
0x06a049a7,
|
|
|
|
0x06a12006,
|
|
|
|
0x06a129a7,
|
|
|
|
0x06a20006,
|
|
|
|
0x06a209a7,
|
|
|
|
0x06a2e006,
|
|
|
|
0x06a2e9a7,
|
|
|
|
0x06a3c006,
|
|
|
|
0x06a3c9a7,
|
|
|
|
0x06a4a006,
|
|
|
|
0x06a4a9a7,
|
|
|
|
0x06a58006,
|
|
|
|
0x06a589a7,
|
|
|
|
0x06a66006,
|
|
|
|
0x06a669a7,
|
|
|
|
0x06a74006,
|
|
|
|
0x06a749a7,
|
|
|
|
0x06a82006,
|
|
|
|
0x06a829a7,
|
|
|
|
0x06a90006,
|
|
|
|
0x06a909a7,
|
|
|
|
0x06a9e006,
|
|
|
|
0x06a9e9a7,
|
|
|
|
0x06aac006,
|
|
|
|
0x06aac9a7,
|
|
|
|
0x06aba006,
|
|
|
|
0x06aba9a7,
|
|
|
|
0x06ac8006,
|
|
|
|
0x06ac89a7,
|
|
|
|
0x06ad6006,
|
|
|
|
0x06ad69a7,
|
|
|
|
0x06ae4006,
|
|
|
|
0x06ae49a7,
|
|
|
|
0x06af2006,
|
|
|
|
0x06af29a7,
|
|
|
|
0x06b00006,
|
|
|
|
0x06b009a7,
|
|
|
|
0x06b0e006,
|
|
|
|
0x06b0e9a7,
|
|
|
|
0x06b1c006,
|
|
|
|
0x06b1c9a7,
|
|
|
|
0x06b2a006,
|
|
|
|
0x06b2a9a7,
|
|
|
|
0x06b38006,
|
|
|
|
0x06b389a7,
|
|
|
|
0x06b46006,
|
|
|
|
0x06b469a7,
|
|
|
|
0x06b54006,
|
|
|
|
0x06b549a7,
|
|
|
|
0x06b62006,
|
|
|
|
0x06b629a7,
|
|
|
|
0x06b70006,
|
|
|
|
0x06b709a7,
|
|
|
|
0x06b7e006,
|
|
|
|
0x06b7e9a7,
|
|
|
|
0x06b8c006,
|
|
|
|
0x06b8c9a7,
|
|
|
|
0x06b9a006,
|
|
|
|
0x06b9a9a7,
|
|
|
|
0x06ba8006,
|
|
|
|
0x06ba89a7,
|
|
|
|
0x06bb6006,
|
|
|
|
0x06bb69a7,
|
|
|
|
0x06bc4006,
|
|
|
|
0x06bc49a7,
|
|
|
|
0x06bd816c,
|
|
|
|
0x06be5b0b,
|
|
|
|
0x07d8f002,
|
|
|
|
0x07f000f2,
|
|
|
|
0x07f100f2,
|
|
|
|
0x07f7f801,
|
|
|
|
0x07fcf012,
|
|
|
|
0x07ff80b1,
|
|
|
|
0x080fe802,
|
|
|
|
0x08170002,
|
|
|
|
0x081bb042,
|
|
|
|
0x08500822,
|
|
|
|
0x08502812,
|
|
|
|
0x08506032,
|
|
|
|
0x0851c022,
|
|
|
|
0x0851f802,
|
|
|
|
0x08572812,
|
|
|
|
0x08692032,
|
|
|
|
0x08755812,
|
|
|
|
0x087a30a2,
|
|
|
|
0x087c1032,
|
|
|
|
0x0880000a,
|
|
|
|
0x08800802,
|
|
|
|
0x0880100a,
|
|
|
|
0x0881c0e2,
|
|
|
|
0x08838002,
|
|
|
|
0x08839812,
|
|
|
|
0x0883f822,
|
|
|
|
0x0884100a,
|
|
|
|
0x0885802a,
|
|
|
|
0x08859832,
|
|
|
|
0x0885b81a,
|
|
|
|
0x0885c812,
|
|
|
|
0x0885e808,
|
|
|
|
0x08861002,
|
|
|
|
0x08866808,
|
|
|
|
0x08880022,
|
|
|
|
0x08893842,
|
|
|
|
0x0889600a,
|
|
|
|
0x08896872,
|
|
|
|
0x088a281a,
|
|
|
|
0x088b9802,
|
|
|
|
0x088c0012,
|
|
|
|
0x088c100a,
|
|
|
|
0x088d982a,
|
|
|
|
0x088db082,
|
|
|
|
0x088df81a,
|
|
|
|
0x088e1018,
|
|
|
|
0x088e4832,
|
|
|
|
0x088e700a,
|
|
|
|
0x088e7802,
|
|
|
|
0x0891602a,
|
|
|
|
0x08917822,
|
|
|
|
0x0891901a,
|
|
|
|
0x0891a002,
|
|
|
|
0x0891a80a,
|
|
|
|
0x0891b012,
|
|
|
|
0x0891f002,
|
|
|
|
0x0896f802,
|
|
|
|
0x0897002a,
|
|
|
|
0x08971872,
|
|
|
|
0x08980012,
|
|
|
|
0x0898101a,
|
|
|
|
0x0899d812,
|
|
|
|
0x0899f002,
|
|
|
|
0x0899f80a,
|
|
|
|
0x089a0002,
|
|
|
|
0x089a083a,
|
|
|
|
0x089a381a,
|
|
|
|
0x089a582a,
|
|
|
|
0x089ab802,
|
|
|
|
0x089b101a,
|
|
|
|
0x089b3062,
|
|
|
|
0x089b8042,
|
|
|
|
0x08a1a82a,
|
|
|
|
0x08a1c072,
|
|
|
|
0x08a2001a,
|
|
|
|
0x08a21022,
|
|
|
|
0x08a2280a,
|
|
|
|
0x08a23002,
|
|
|
|
0x08a2f002,
|
|
|
|
0x08a58002,
|
|
|
|
0x08a5881a,
|
|
|
|
0x08a59852,
|
|
|
|
0x08a5c80a,
|
|
|
|
0x08a5d002,
|
|
|
|
0x08a5d81a,
|
|
|
|
0x08a5e802,
|
|
|
|
0x08a5f00a,
|
|
|
|
0x08a5f812,
|
|
|
|
0x08a6080a,
|
|
|
|
0x08a61012,
|
|
|
|
0x08ad7802,
|
|
|
|
0x08ad801a,
|
|
|
|
0x08ad9032,
|
|
|
|
0x08adc03a,
|
|
|
|
0x08ade012,
|
|
|
|
0x08adf00a,
|
|
|
|
0x08adf812,
|
|
|
|
0x08aee012,
|
|
|
|
0x08b1802a,
|
|
|
|
0x08b19872,
|
|
|
|
0x08b1d81a,
|
|
|
|
0x08b1e802,
|
|
|
|
0x08b1f00a,
|
|
|
|
0x08b1f812,
|
|
|
|
0x08b55802,
|
|
|
|
0x08b5600a,
|
|
|
|
0x08b56802,
|
|
|
|
0x08b5701a,
|
|
|
|
0x08b58052,
|
|
|
|
0x08b5b00a,
|
|
|
|
0x08b5b802,
|
|
|
|
0x08b8e822,
|
|
|
|
0x08b91032,
|
|
|
|
0x08b9300a,
|
|
|
|
0x08b93842,
|
|
|
|
0x08c1602a,
|
|
|
|
0x08c17882,
|
|
|
|
0x08c1c00a,
|
|
|
|
0x08c1c812,
|
|
|
|
0x08c98002,
|
|
|
|
0x08c9884a,
|
|
|
|
0x08c9b81a,
|
|
|
|
0x08c9d812,
|
|
|
|
0x08c9e80a,
|
|
|
|
0x08c9f002,
|
|
|
|
0x08c9f808,
|
|
|
|
0x08ca000a,
|
|
|
|
0x08ca0808,
|
|
|
|
0x08ca100a,
|
|
|
|
0x08ca1802,
|
|
|
|
0x08ce882a,
|
|
|
|
0x08cea032,
|
|
|
|
0x08ced012,
|
|
|
|
0x08cee03a,
|
|
|
|
0x08cf0002,
|
|
|
|
0x08cf200a,
|
|
|
|
0x08d00892,
|
|
|
|
0x08d19852,
|
|
|
|
0x08d1c80a,
|
|
|
|
0x08d1d008,
|
|
|
|
0x08d1d832,
|
|
|
|
0x08d23802,
|
|
|
|
0x08d28852,
|
|
|
|
0x08d2b81a,
|
|
|
|
0x08d2c822,
|
|
|
|
0x08d42058,
|
|
|
|
0x08d450c2,
|
|
|
|
0x08d4b80a,
|
|
|
|
0x08d4c012,
|
|
|
|
0x08e1780a,
|
|
|
|
0x08e18062,
|
|
|
|
0x08e1c052,
|
|
|
|
0x08e1f00a,
|
|
|
|
0x08e1f802,
|
|
|
|
0x08e49152,
|
|
|
|
0x08e5480a,
|
|
|
|
0x08e55062,
|
|
|
|
0x08e5880a,
|
|
|
|
0x08e59012,
|
|
|
|
0x08e5a00a,
|
|
|
|
0x08e5a812,
|
|
|
|
0x08e98852,
|
|
|
|
0x08e9d002,
|
|
|
|
0x08e9e012,
|
|
|
|
0x08e9f862,
|
|
|
|
0x08ea3008,
|
|
|
|
0x08ea3802,
|
|
|
|
0x08ec504a,
|
|
|
|
0x08ec8012,
|
|
|
|
0x08ec981a,
|
|
|
|
0x08eca802,
|
|
|
|
0x08ecb00a,
|
|
|
|
0x08ecb802,
|
|
|
|
0x08f79812,
|
|
|
|
0x08f7a81a,
|
|
|
|
0x09a18081,
|
|
|
|
0x0b578042,
|
|
|
|
0x0b598062,
|
|
|
|
0x0b7a7802,
|
|
|
|
0x0b7a8b6a,
|
|
|
|
0x0b7c7832,
|
|
|
|
0x0b7f2002,
|
|
|
|
0x0b7f801a,
|
|
|
|
0x0de4e812,
|
|
|
|
0x0de50031,
|
|
|
|
0x0e7802d2,
|
|
|
|
0x0e798162,
|
|
|
|
0x0e8b2802,
|
|
|
|
0x0e8b300a,
|
|
|
|
0x0e8b3822,
|
|
|
|
0x0e8b680a,
|
|
|
|
0x0e8b7042,
|
|
|
|
0x0e8b9871,
|
|
|
|
0x0e8bd872,
|
|
|
|
0x0e8c2862,
|
|
|
|
0x0e8d5032,
|
|
|
|
0x0e921022,
|
|
|
|
0x0ed00362,
|
|
|
|
0x0ed1db12,
|
|
|
|
0x0ed3a802,
|
|
|
|
0x0ed42002,
|
|
|
|
0x0ed4d842,
|
|
|
|
0x0ed508e2,
|
|
|
|
0x0f000062,
|
|
|
|
0x0f004102,
|
|
|
|
0x0f00d862,
|
|
|
|
0x0f011812,
|
|
|
|
0x0f013042,
|
|
|
|
0x0f098062,
|
|
|
|
0x0f157002,
|
|
|
|
0x0f176032,
|
|
|
|
0x0f468062,
|
|
|
|
0x0f4a2062,
|
|
|
|
0x0f8007f3,
|
|
|
|
0x0f8407f3,
|
|
|
|
0x0f886823,
|
|
|
|
0x0f897803,
|
|
|
|
0x0f8b6053,
|
|
|
|
0x0f8bf013,
|
|
|
|
0x0f8c7003,
|
|
|
|
0x0f8c8893,
|
|
|
|
0x0f8d6b83,
|
|
|
|
0x0f8f3199,
|
|
|
|
0x0f9008e3,
|
|
|
|
0x0f90d003,
|
|
|
|
0x0f917803,
|
|
|
|
0x0f919083,
|
|
|
|
0x0f91e033,
|
|
|
|
0x0f924ff3,
|
|
|
|
0x0f964ff3,
|
|
|
|
0x0f9a4ff3,
|
|
|
|
0x0f9e4b13,
|
|
|
|
0x0f9fd842,
|
|
|
|
0x0fa007f3,
|
|
|
|
0x0fa407f3,
|
|
|
|
0x0fa803d3,
|
|
|
|
0x0faa37f3,
|
|
|
|
0x0fae37f3,
|
|
|
|
0x0fb23093,
|
|
|
|
0x0fb407f3,
|
|
|
|
0x0fbba0b3,
|
|
|
|
0x0fbeaaa3,
|
|
|
|
0x0fc06033,
|
|
|
|
0x0fc24073,
|
|
|
|
0x0fc2d053,
|
|
|
|
0x0fc44073,
|
|
|
|
0x0fc57513,
|
|
|
|
0x0fc862e3,
|
|
|
|
0x0fc9e093,
|
|
|
|
0x0fca3ff3,
|
|
|
|
0x0fce3ff3,
|
|
|
|
0x0fd23ff3,
|
|
|
|
0x0fd63b83,
|
|
|
|
0x0fe007f3,
|
|
|
|
0x0fe407f3,
|
|
|
|
0x0fe807f3,
|
|
|
|
0x0fec07f3,
|
|
|
|
0x0ff007f3,
|
|
|
|
0x0ff407f3,
|
|
|
|
0x0ff807f3,
|
|
|
|
0x0ffc07d3,
|
|
|
|
0x700001f1,
|
|
|
|
0x700105f2,
|
|
|
|
0x700407f1,
|
|
|
|
0x700807f2,
|
|
|
|
0x700c06f2,
|
|
|
|
0x700f87f1,
|
|
|
|
0x701387f1,
|
|
|
|
0x701787f1,
|
|
|
|
0x701b87f1,
|
|
|
|
0x701f87f1,
|
|
|
|
0x702387f1,
|
|
|
|
0x702787f1,
|
|
|
|
0x702b87f1,
|
|
|
|
0x702f87f1,
|
|
|
|
0x703387f1,
|
|
|
|
0x703787f1,
|
|
|
|
0x703b87f1,
|
|
|
|
0x703f87f1,
|
|
|
|
0x704387f1,
|
|
|
|
0x704787f1,
|
|
|
|
0x704b87f1,
|
|
|
|
0x704f87f1,
|
|
|
|
0x705387f1,
|
|
|
|
0x705787f1,
|
|
|
|
0x705b87f1,
|
|
|
|
0x705f87f1,
|
|
|
|
0x706387f1,
|
|
|
|
0x706787f1,
|
|
|
|
0x706b87f1,
|
|
|
|
0x706f87f1,
|
|
|
|
0x707387f1,
|
|
|
|
0x707787f1,
|
|
|
|
0x707b87f1,
|
|
|
|
0x707f80f1};
|
2022-05-28 21:30:10 +08:00
|
|
|
|
|
|
|
/// Returns the extended grapheme cluster bondary property of a code point.
|
|
|
|
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr __property __get_property(const char32_t __code_point) noexcept {
|
|
|
|
// TODO FMT use std::ranges::upper_bound.
|
|
|
|
|
|
|
|
// The algorithm searches for the upper bound of the range and, when found,
|
|
|
|
// steps back one entry. This algorithm is used since the code point can be
|
|
|
|
// anywhere in the range. After a lower bound is found the next step is to
|
|
|
|
// compare whether the code unit is indeed in the range.
|
|
|
|
//
|
|
|
|
// Since the entry contains a code unit, size, and property the code point
|
|
|
|
// being sought needs to be adjusted. Just shifting the code point to the
|
|
|
|
// proper position doesn't work; suppose an entry has property 0, size 1,
|
|
|
|
// and lower bound 3. This results in the entry 0x1810.
|
|
|
|
// When searching for code point 3 it will search for 0x1800, find 0x1810
|
|
|
|
// and moves to the previous entry. Thus the lower bound value will never
|
|
|
|
// be found.
|
|
|
|
// The simple solution is to set the bits belonging to the property and
|
|
|
|
// size. Then the upper bound for code point 3 will return the entry after
|
|
|
|
// 0x1810. After moving to the previous entry the algorithm arrives at the
|
|
|
|
// correct entry.
|
|
|
|
ptrdiff_t __i = std::upper_bound(__entries, std::end(__entries), (__code_point << 11) | 0x7ffu) - __entries;
|
|
|
|
if (__i == 0)
|
|
|
|
return __property::__none;
|
|
|
|
|
|
|
|
--__i;
|
|
|
|
uint32_t __upper_bound = (__entries[__i] >> 11) + ((__entries[__i] >> 4) & 0x7f);
|
|
|
|
if (__code_point <= __upper_bound)
|
|
|
|
return static_cast<__property>(__entries[__i] & 0xf);
|
|
|
|
|
|
|
|
return __property::__none;
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace __extended_grapheme_custer_property_boundary
|
|
|
|
|
|
|
|
#endif //_LIBCPP_STD_VER > 17
|
|
|
|
|
|
|
|
_LIBCPP_END_NAMESPACE_STD
|
|
|
|
|
|
|
|
#endif // _LIBCPP___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
|