Switch 64-bit hashes to xxhash3 (#8721)

Context: https://xxhash.com/

XXH3 is an improved  xxHash algorithm for 64-bit machines, which offers around twice
as much performance over the XXH2 variant (see the link above), especially when processing
small data, at the same time keeping the hash quality intact.

In our case, the processing speed up isn't that dramatic, of course, because we're running 
real world applications and not synthetic tests, but we do see startup time improvements.

Performance improvements compared to `main`, tests  on Pixel 6 Pro  running Android 14:

   * **Displayed time**: 2.17% faster
   * **Native-to-managed init**: 1.4% faster
   * **Total native init**: 1.15% faster
This commit is contained in:
Marek Habersack 2024-04-03 09:32:16 +00:00 коммит произвёл GitHub
Родитель dc4d82d266
Коммит 6d2a4bb223
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
11 изменённых файлов: 589 добавлений и 592 удалений

6
.gitmodules поставляемый
Просмотреть файл

@ -22,3 +22,9 @@
path = external/xamarin-android-tools
url = https://github.com/xamarin/xamarin-android-tools
branch = main
[submodule "external/xxHash"]
path = external/xxHash
url = https://github.com/Cyan4973/xxHash.git
[submodule "external/constexpr-xxh3"]
path = external/constexpr-xxh3
url = https://github.com/chys87/constexpr-xxh3.git

Просмотреть файл

@ -516,3 +516,68 @@ SOFTWARE.
======================================================
END OF tessil/robin-map NOTICES AND INFORMATION
%% chys87/constexpr-xxh3 NOTICES AND INFORMATION BEGIN HERE
===========================================================
BSD 2-Clause License
constexpr-xxh3 - C++20 constexpr implementation of the XXH3 64-bit variant of xxHash
Copyright (c) 2021-2023, chys <admin@chys.info> <chys87@github>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
======================================================
END OF chys87/constexpr-xxh3 NOTICES AND INFORMATION
%% Cyan4973/xxHash NOTICES AND INFORMATION BEGIN HERE
=====================================================
xxHash Library
Copyright (c) 2012-2021 Yann Collet
All rights reserved.
BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% END OF Cyan4973/xxHash NOTICES AND INFORMATION
=================================================

Просмотреть файл

@ -8,6 +8,7 @@ GENERATOR_BINARY="${MONODROID_SOURCE_DIR}/generate-pinvoke-tables"
TARGET_FILE="${MONODROID_SOURCE_DIR}/pinvoke-tables.include"
GENERATED_FILE="${TARGET_FILE}.generated"
DIFF_FILE="${TARGET_FILE}.diff"
EXTERNAL_DIR="${MY_DIR}/../../external/"
function die()
{
@ -62,7 +63,7 @@ case ${HOST} in
*) die Unsupported OS ;;
esac
${COMPILER} -O2 -std=c++20 "${GENERATOR_SOURCE}" -o "${GENERATOR_BINARY}"
${COMPILER} -O2 -std=c++20 -I${EXTERNAL_DIR} -I${EXTERNAL_DIR}/constexpr-xxh3 "${GENERATOR_SOURCE}" -o "${GENERATOR_BINARY}"
"${GENERATOR_BINARY}" "${GENERATED_FILE}"
FILES_DIFFER="no"

1
external/constexpr-xxh3 поставляемый Submodule

@ -0,0 +1 @@
Subproject commit aebcee75c8b6c2458fa8ae151754a8ba833bd697

1
external/xxHash поставляемый Submodule

@ -0,0 +1 @@
Subproject commit bbb27a5efb85b92a0486cf361a8635715a53f6ba

Просмотреть файл

@ -223,7 +223,7 @@ partial class MonoAndroidHelper
public static ulong GetXxHash (byte[] stringBytes, bool is64Bit)
{
if (is64Bit) {
return XxHash64.HashToUInt64 (stringBytes);
return XxHash3.HashToUInt64 (stringBytes);
}
return (ulong)XxHash32.HashToUInt32 (stringBytes);

Просмотреть файл

@ -23,7 +23,7 @@ static class TypeMapHelper
static ulong HashBytes (byte[] bytes, bool is64Bit)
{
if (is64Bit) {
return XxHash64.HashToUInt64 (bytes);
return XxHash3.HashToUInt64 (bytes);
}
return (ulong)XxHash32.HashToUInt32 (bytes);

Просмотреть файл

@ -142,6 +142,8 @@ set(LZ4_INCLUDE_DIR ${LZ4_SRC_DIR})
set(XA_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/${XA_BUILD_CONFIGURATION}")
set(XA_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/Build${XA_BUILD_CONFIGURATION}")
set(ROBIN_MAP_DIR "${EXTERNAL_DIR}/robin-map")
set(XXHASH_DIR "${EXTERNAL_DIR}/xxHash")
set(CONSTEXPR_XXH3_DIR "${EXTERNAL_DIR}/constexpr-xxh3")
include("${XA_BUILD_DIR}/xa_build_configuration.cmake")
@ -163,9 +165,11 @@ set(LZ4_SOURCES
# Include directories
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/ ${CMAKE_SOURCE_DIR}/include)
include_directories(${EXTERNAL_DIR})
# The SYSTEM which will make clang skip warnings for the headers there. Since we can't do
# much about them, we can just as well avoid cluttered build output.
include_directories(SYSTEM ${CONSTEXPR_XXH3_DIR})
include_directories(SYSTEM ${ROBIN_MAP_DIR}/include)
include_directories(SYSTEM ${CMAKE_SYSROOT}/usr/include/c++/v1/)
include_directories(SYSTEM ${LZ4_INCLUDE_DIR})

Просмотреть файл

@ -688,9 +688,9 @@ struct constexpr_test {
constexpr_test<xxhash32::hash<0> ("", 0), 0x2CC5D05U> constexprTest_1;
constexpr_test<xxhash32::hash<2654435761U> ("", 0), 0x36B78AE7U> constexprTest_2;
constexpr_test<xxhash64::hash<0> ("", 0), 0xEF46DB3751D8E999ULL> constexprTest_3;
constexpr_test<xxhash64::hash<2654435761U> ("", 0), 0xAC75FDA2929B17EFULL> constexprTest_4;
//constexpr_test<xxhash64::hash<0> ("", 0), 0xEF46DB3751D8E999ULL> constexprTest_3;
//constexpr_test<xxhash64::hash<2654435761U> ("", 0), 0xAC75FDA2929B17EFULL> constexprTest_4;
constexpr_test<xxhash32::hash<0> ("test", 4), 0x3E2023CFU> constexprTest32_5;
constexpr_test<xxhash32::hash<2654435761U> ("test", 4), 0xA9C14438U> constexprTest32_6;
constexpr_test<xxhash64::hash<0> ("test", 4), 0x4fdcca5ddb678139ULL> constexprTest64_7;
constexpr_test<xxhash64::hash<2654435761U> ("test", 4), 0x5A183B8150E2F651ULL> constexprTest64_8;
//constexpr_test<xxhash64::hash<0> ("test", 4), 0x4fdcca5ddb678139ULL> constexprTest64_7;
//constexpr_test<xxhash64::hash<2654435761U> ("test", 4), 0x5A183B8150E2F651ULL> constexprTest64_8;

Просмотреть файл

@ -10,493 +10,493 @@
#if INTPTR_MAX == INT64_MAX
//64-bit internal p/invoke table
static PinvokeEntry internal_pinvokes[] = {
{0x373adf4d92171c9, "monodroid_get_dylib", reinterpret_cast<void*>(&monodroid_get_dylib)},
{0x1043bb17531fea08, "monodroid_strdup_printf", reinterpret_cast<void*>(&monodroid_strdup_printf)},
{0x10c1189ecda630bf, "_monodroid_max_gref_get", reinterpret_cast<void*>(&_monodroid_max_gref_get)},
{0x175432d66789c506, "_monodroid_gref_log_new", reinterpret_cast<void*>(&_monodroid_gref_log_new)},
{0x176f0fe8a1775237, "_monodroid_get_identity_hash_code", reinterpret_cast<void*>(&_monodroid_get_identity_hash_code)},
{0x1806f57aaf00fc1c, "_monodroid_gref_log_delete", reinterpret_cast<void*>(&_monodroid_gref_log_delete)},
{0x19a8d36d0622ca80, "_monodroid_lookup_replacement_type", reinterpret_cast<void*>(&_monodroid_lookup_replacement_type)},
{0x1e3dbf97c632d454, "_monodroid_get_network_interface_up_state", reinterpret_cast<void*>(&_monodroid_get_network_interface_up_state)},
{0x220912764f83079f, "_monodroid_get_network_interface_supports_multicast", reinterpret_cast<void*>(&_monodroid_get_network_interface_supports_multicast)},
{0x29ab0d309b3e5709, "path_combine", reinterpret_cast<void*>(&path_combine)},
{0x3192fa7d90a50ec7, "_monodroid_detect_cpu_and_architecture", reinterpret_cast<void*>(&_monodroid_detect_cpu_and_architecture)},
{0x32bf1b201328ec3b, "monodroid_strfreev", reinterpret_cast<void*>(&monodroid_strfreev)},
{0x3c0a4e871b763158, "_monodroid_get_dns_servers", reinterpret_cast<void*>(&_monodroid_get_dns_servers)},
{0x48955c31ca757fc5, "_monodroid_gc_wait_for_bridge_processing", reinterpret_cast<void*>(&_monodroid_gc_wait_for_bridge_processing)},
{0x4b5597adf16d7abc, "monodroid_get_namespaced_system_property", reinterpret_cast<void*>(&monodroid_get_namespaced_system_property)},
{0x518c6c6cf43ad358, "monodroid_get_system_property", reinterpret_cast<void*>(&monodroid_get_system_property)},
{0x5863efa9eb2c1a37, "_monodroid_lref_log_delete", reinterpret_cast<void*>(&_monodroid_lref_log_delete)},
{0x60638f3da6a0fcf5, "monodroid_log", reinterpret_cast<void*>(&monodroid_log)},
{0x60f779f5c86f6c4f, "monodroid_dylib_mono_new", reinterpret_cast<void*>(&monodroid_dylib_mono_new)},
{0x697dceb3becaf6ca, "monodroid_timing_start", reinterpret_cast<void*>(&monodroid_timing_start)},
{0x6c158ba26cb2a283, "java_interop_free", reinterpret_cast<void*>(&java_interop_free)},
{0x6d40bd05c4c4f514, "monodroid_TypeManager_get_java_class_name", reinterpret_cast<void*>(&monodroid_TypeManager_get_java_class_name)},
{0x70972261de149c86, "monodroid_store_package_name", reinterpret_cast<void*>(&monodroid_store_package_name)},
{0x72eda5289cafaeb8, "recv_uninterrupted", reinterpret_cast<void*>(&recv_uninterrupted)},
{0x7360ac888ce71aa7, "_monodroid_freeifaddrs", reinterpret_cast<void*>(&_monodroid_freeifaddrs)},
{0x73bdc18ed8d9ec13, "_monodroid_getifaddrs", reinterpret_cast<void*>(&_monodroid_getifaddrs)},
{0x79bf23727ef47720, "_monodroid_counters_dump", reinterpret_cast<void*>(&_monodroid_counters_dump)},
{0x8c92c48613773f14, "create_public_directory", reinterpret_cast<void*>(&create_public_directory)},
{0x9256e59f11668fd9, "monodroid_fopen", reinterpret_cast<void*>(&monodroid_fopen)},
{0x99280385171e42f7, "_monodroid_weak_gref_new", reinterpret_cast<void*>(&_monodroid_weak_gref_new)},
{0x99650880ac9e14a3, "send_uninterrupted", reinterpret_cast<void*>(&send_uninterrupted)},
{0x9c8899c01b365588, "_monodroid_lref_log_new", reinterpret_cast<void*>(&_monodroid_lref_log_new)},
{0xa2b311d0ace698ff, "monodroid_clear_gdb_wait", reinterpret_cast<void*>(&monodroid_clear_gdb_wait)},
{0xab5d72a27d67b248, "monodroid_embedded_assemblies_set_assemblies_prefix", reinterpret_cast<void*>(&monodroid_embedded_assemblies_set_assemblies_prefix)},
{0xb8b6638548d5aa08, "monodroid_strsplit", reinterpret_cast<void*>(&monodroid_strsplit)},
{0xb902428434fd0192, "monodroid_free", reinterpret_cast<void*>(&monodroid_free)},
{0xba09732e7f72fce4, "monodroid_dylib_mono_init", reinterpret_cast<void*>(&monodroid_dylib_mono_init)},
{0xcc53b65d0162870e, "_monodroid_lookup_replacement_method_info", reinterpret_cast<void*>(&_monodroid_lookup_replacement_method_info)},
{0xcd339dc2d2132ef0, "set_world_accessable", reinterpret_cast<void*>(&set_world_accessable)},
{0xd2b102f6195d8f1a, "_monodroid_gref_log", reinterpret_cast<void*>(&_monodroid_gref_log)},
{0xd9260a5735a3f840, "_monodroid_get_android_api_level", reinterpret_cast<void*>(&_monodroid_get_android_api_level)},
{0xe3217082b569d851, "monodroid_dylib_mono_free", reinterpret_cast<void*>(&monodroid_dylib_mono_free)},
{0xe46673cc510111c1, "_monodroid_weak_gref_delete", reinterpret_cast<void*>(&_monodroid_weak_gref_delete)},
{0xef89068b5179e092, "monodroid_get_log_categories", reinterpret_cast<void*>(&monodroid_get_log_categories)},
{0xefb64daaf899d919, "_monodroid_weak_gref_get", reinterpret_cast<void*>(&_monodroid_weak_gref_get)},
{0xf31e2fa863630806, "monodroid_timing_stop", reinterpret_cast<void*>(&monodroid_timing_stop)},
{0xf514d458853281a2, "_monodroid_gref_get", reinterpret_cast<void*>(&_monodroid_gref_get)},
{0xf650837c0307b02b, "java_interop_strdup", reinterpret_cast<void*>(&java_interop_strdup)},
{0xfb177e4619f18dbe, "_monodroid_timezone_get_default_id", reinterpret_cast<void*>(&_monodroid_timezone_get_default_id)},
{0x452e23128e42f0a, "monodroid_get_log_categories", reinterpret_cast<void*>(&monodroid_get_log_categories)},
{0xa50ce5de13bf8b5, "_monodroid_timezone_get_default_id", reinterpret_cast<void*>(&_monodroid_timezone_get_default_id)},
{0x19055d65edfd668e, "_monodroid_get_network_interface_up_state", reinterpret_cast<void*>(&_monodroid_get_network_interface_up_state)},
{0x2637a308c07d56b2, "monodroid_store_package_name", reinterpret_cast<void*>(&monodroid_store_package_name)},
{0x2b3b0ca1d14076da, "monodroid_get_dylib", reinterpret_cast<void*>(&monodroid_get_dylib)},
{0x2fbe68718cf2510d, "_monodroid_get_identity_hash_code", reinterpret_cast<void*>(&_monodroid_get_identity_hash_code)},
{0x3ade4348ac8ce0fa, "_monodroid_freeifaddrs", reinterpret_cast<void*>(&_monodroid_freeifaddrs)},
{0x3b2467e7eadd4a6a, "_monodroid_lref_log_new", reinterpret_cast<void*>(&_monodroid_lref_log_new)},
{0x3c5532ecdab53f89, "set_world_accessable", reinterpret_cast<void*>(&set_world_accessable)},
{0x423c8f539a2c56d2, "_monodroid_lookup_replacement_type", reinterpret_cast<void*>(&_monodroid_lookup_replacement_type)},
{0x4b1956138764939a, "_monodroid_gref_log_new", reinterpret_cast<void*>(&_monodroid_gref_log_new)},
{0x4d5b5b488f736058, "path_combine", reinterpret_cast<void*>(&path_combine)},
{0x5a2614d15e2fdc2e, "monodroid_strdup_printf", reinterpret_cast<void*>(&monodroid_strdup_printf)},
{0x5f0b4e426eff086b, "_monodroid_detect_cpu_and_architecture", reinterpret_cast<void*>(&_monodroid_detect_cpu_and_architecture)},
{0x709af13cbfbe2e75, "monodroid_clear_gdb_wait", reinterpret_cast<void*>(&monodroid_clear_gdb_wait)},
{0x70ae32c9a4f1ad2c, "monodroid_strsplit", reinterpret_cast<void*>(&monodroid_strsplit)},
{0x70fc9bab8d56666d, "create_public_directory", reinterpret_cast<void*>(&create_public_directory)},
{0x78514771a67ad724, "monodroid_strfreev", reinterpret_cast<void*>(&monodroid_strfreev)},
{0x9099a4b95e3c3a89, "_monodroid_lref_log_delete", reinterpret_cast<void*>(&_monodroid_lref_log_delete)},
{0x958cdb6fd9d1b67b, "monodroid_dylib_mono_new", reinterpret_cast<void*>(&monodroid_dylib_mono_new)},
{0xa6ec846592d99536, "_monodroid_weak_gref_delete", reinterpret_cast<void*>(&_monodroid_weak_gref_delete)},
{0xa7f58f3ee428cc6b, "_monodroid_gref_log_delete", reinterpret_cast<void*>(&_monodroid_gref_log_delete)},
{0xae3df96dda0143bd, "_monodroid_gref_log", reinterpret_cast<void*>(&_monodroid_gref_log)},
{0xb6222d90af401865, "_monodroid_weak_gref_get", reinterpret_cast<void*>(&_monodroid_weak_gref_get)},
{0xb8306f71b963cd3d, "monodroid_log", reinterpret_cast<void*>(&monodroid_log)},
{0xbc90bafd5ff9c99e, "_monodroid_get_dns_servers", reinterpret_cast<void*>(&_monodroid_get_dns_servers)},
{0xbe5a300beec69c35, "monodroid_get_system_property", reinterpret_cast<void*>(&monodroid_get_system_property)},
{0xbfbb924fbe190616, "monodroid_dylib_mono_free", reinterpret_cast<void*>(&monodroid_dylib_mono_free)},
{0xc2a21d3f6c8ccc24, "_monodroid_lookup_replacement_method_info", reinterpret_cast<void*>(&_monodroid_lookup_replacement_method_info)},
{0xc5b4690e13898fa3, "monodroid_timing_start", reinterpret_cast<void*>(&monodroid_timing_start)},
{0xcc873ea8493d1dd5, "monodroid_embedded_assemblies_set_assemblies_prefix", reinterpret_cast<void*>(&monodroid_embedded_assemblies_set_assemblies_prefix)},
{0xce439cfbe29dec11, "_monodroid_get_android_api_level", reinterpret_cast<void*>(&_monodroid_get_android_api_level)},
{0xd1e121b94ea63f2e, "_monodroid_gref_get", reinterpret_cast<void*>(&_monodroid_gref_get)},
{0xd5151b00eb33d85e, "monodroid_TypeManager_get_java_class_name", reinterpret_cast<void*>(&monodroid_TypeManager_get_java_class_name)},
{0xda517ef392b6a888, "java_interop_free", reinterpret_cast<void*>(&java_interop_free)},
{0xe27b9849b7e982cb, "_monodroid_max_gref_get", reinterpret_cast<void*>(&_monodroid_max_gref_get)},
{0xe370a0d91cd63bc0, "_monodroid_getifaddrs", reinterpret_cast<void*>(&_monodroid_getifaddrs)},
{0xe78f1161604ae672, "send_uninterrupted", reinterpret_cast<void*>(&send_uninterrupted)},
{0xe86307aac9a2631a, "_monodroid_weak_gref_new", reinterpret_cast<void*>(&_monodroid_weak_gref_new)},
{0xebc2c68e10075cc9, "monodroid_fopen", reinterpret_cast<void*>(&monodroid_fopen)},
{0xee83e38e479aeff1, "_monodroid_counters_dump", reinterpret_cast<void*>(&_monodroid_counters_dump)},
{0xf3048baf83034541, "_monodroid_gc_wait_for_bridge_processing", reinterpret_cast<void*>(&_monodroid_gc_wait_for_bridge_processing)},
{0xf41c48df6f9be476, "monodroid_free", reinterpret_cast<void*>(&monodroid_free)},
{0xf5a918ef520db207, "monodroid_timing_stop", reinterpret_cast<void*>(&monodroid_timing_stop)},
{0xf5ed87b004005892, "_monodroid_get_network_interface_supports_multicast", reinterpret_cast<void*>(&_monodroid_get_network_interface_supports_multicast)},
{0xf8798f762db15bba, "recv_uninterrupted", reinterpret_cast<void*>(&recv_uninterrupted)},
{0xfa90326712e7e7c4, "java_interop_strdup", reinterpret_cast<void*>(&java_interop_strdup)},
{0xfdc17c4ea8335ffd, "monodroid_get_namespaced_system_property", reinterpret_cast<void*>(&monodroid_get_namespaced_system_property)},
{0xff010b3140f54d3f, "monodroid_dylib_mono_init", reinterpret_cast<void*>(&monodroid_dylib_mono_init)},
};
//64-bit DotNet p/invoke table
static PinvokeEntry dotnet_pinvokes[] = {
{0xa9f93429c5e2b5, "AndroidCryptoNative_SSLStreamIsLocalCertificateUsed", nullptr},
{0xba29497af60305, "BrotliDecoderDecompressStream", nullptr},
{0x336cd3c7fb41c6a, "SystemNative_GetSocketType", nullptr},
{0x37ea669c69089ff, "SystemNative_InitializeConsoleBeforeRead", nullptr},
{0x3a940bbaefedf03, "AndroidCryptoNative_CipherUpdate", nullptr},
{0x4311d1d324b2057, "SystemNative_GetProcAddress", nullptr},
{0x79ca1869d224820, "CryptoNative_EvpDigestCurrent", nullptr},
{0x82500327210516d, "CryptoNative_EvpMdCtxDestroy", nullptr},
{0x837e8cd30e29700, "SystemNative_GetSockOpt", nullptr},
{0x96cd3bee1d72f15, "SystemNative_Unlink", nullptr},
{0x9818dd856f7871c, "AndroidCryptoNative_X509PublicKey", nullptr},
{0xa1025e874df4722, "SystemNative_LChflags", nullptr},
{0xbeba0dff89eaa02, "BrotliEncoderIsFinished", nullptr},
{0xc9bd5299c564f04, "SystemNative_FcntlGetPipeSz", nullptr},
{0xcd7225ba3470dcf, "AndroidCryptoNative_SSLStreamWrite", nullptr},
{0xd696de18fdd1c8d, "AndroidCryptoNative_Des3Ecb", nullptr},
{0xd86dfd7f39ae339, "SystemNative_Realloc", nullptr},
{0xdc7623cba800290, "BrotliEncoderDestroyInstance", nullptr},
{0xf67486301af9648, "SystemNative_LowLevelMonitor_Create", nullptr},
{0xf7bb1ba8a998029, "AndroidCryptoNative_EcdhDeriveKey", nullptr},
{0xf83bfe858a8758e, "CryptoNative_ErrPeekError", nullptr},
{0x10892c162ebd1cf4, "SystemNative_TryChangeSocketEventRegistration", nullptr},
{0x110ac73b7341032d, "AndroidCryptoNative_GetECKeyParameters", nullptr},
{0x117f5e07eb311282, "SystemNative_FreeHostEntry", nullptr},
{0x143b5bb13b2c14d7, "SystemNative_GetCwd", nullptr},
{0x144fb797ee0c5073, "SystemNative_LChflagsCanSetHiddenFlag", nullptr},
{0x15763625933ee832, "CryptoNative_ErrReasonErrorString", nullptr},
{0x15defa4fe6766559, "SystemNative_LockFileRegion", nullptr},
{0x162f55b4aa1c1c12, "SystemNative_GetEUid", nullptr},
{0x166df7663e4f8059, "SystemNative_Accept", nullptr},
{0x1677be1bc89776f6, "SystemNative_AlignedAlloc", nullptr},
{0x16c5b93423222cdd, "SystemNative_GetPeerUserName", nullptr},
{0x172285cc11f390b5, "SystemNative_RmDir", nullptr},
{0x17238620db76a6b0, "SystemNative_GetNativeIPInterfaceStatistics", nullptr},
{0x176c1d0d0991f177, "SystemNative_Poll", nullptr},
{0x18dcb89e559db8f7, "SystemNative_LowLevelMonitor_TimedWait", nullptr},
{0x1b542ef0550b6deb, "BrotliSetDictionaryData", nullptr},
{0x1b70abf2b91d38a6, "SystemNative_FcntlGetFD", nullptr},
{0x1bd174c8daa88fd4, "SystemNative_ConvertErrorPlatformToPal", nullptr},
{0x1db7c79f266b60ff, "CryptoNative_EvpMdSize", nullptr},
{0x1dd5f36ff8719418, "SystemNative_FAllocate", nullptr},
{0x1e3389dcfd925f47, "AndroidCryptoNative_Aes128Ecb", nullptr},
{0x1ee1f9e3aa35b6fe, "SystemNative_GetPwUidR", nullptr},
{0x1ef41ad6d9f0b254, "CryptoNative_HmacOneShot", nullptr},
{0x1f5d0e11b789af61, "SystemNative_FcntlSetPipeSz", nullptr},
{0x1f7101c2ac8741e8, "AndroidCryptoNative_CipherIsSupported", nullptr},
{0x20a78b3b6a30b093, "CompressionNative_InflateReset", nullptr},
{0x20c86d69d20ef1fb, "AndroidCryptoNative_X509ChainValidate", nullptr},
{0x21b8685dfb99f9dd, "AndroidCryptoNative_CipherCreatePartial", nullptr},
{0x21ec6600d76a531b, "SystemNative_RegisterForSigChld", nullptr},
{0x2224b00b28c76b65, "SystemNative_Link", nullptr},
{0x22e562f5345f8a80, "SystemNative_GetIPv4GlobalStatistics", nullptr},
{0x235137894b902723, "BrotliDecoderIsUsed", nullptr},
{0x2390fb62f9ba3616, "SystemNative_TryGetIPPacketInformation", nullptr},
{0x23a16c2067c951a4, "AndroidCryptoNative_BigNumToBinary", nullptr},
{0x242ecded1219ff32, "SystemNative_GetOSArchitecture", nullptr},
{0x242fce87df6dcd96, "AndroidCryptoNative_Aes128Ccm", nullptr},
{0x2472cfc68a2aa833, "SystemNative_GetEnviron", nullptr},
{0x24d49c833ac8f243, "CryptoNative_EvpSha384", nullptr},
{0x25021f1c66d9ba06, "AndroidCryptoNative_ChaCha20Poly1305", nullptr},
{0x258f314ff5085c28, "AndroidCryptoNative_SSLStreamSetTargetHost", nullptr},
{0x26522342ecf78912, "AndroidCryptoNative_X509ChainGetErrors", nullptr},
{0x2674b72588b740f8, "AndroidCryptoNative_DsaKeyCreateByExplicitParameters", nullptr},
{0x27e9a8d1500d1877, "SystemNative_GetProcessPath", nullptr},
{0x2a141d3db263b7e8, "SystemNative_MkdTemp", nullptr},
{0x2a36bfbc49143c9f, "SystemNative_Calloc", nullptr},
{0x2b6d983eb884545f, "SystemNative_GetControlCharacters", nullptr},
{0x2f1e9ce68e99a367, "SystemNative_GetAtOutOfBandMark", nullptr},
{0x300029a5608f244d, "AndroidCryptoNative_RsaCreate", nullptr},
{0x302c5b4c6bda4f79, "SystemNative_Disconnect", nullptr},
{0x304dda517bd3e508, "CryptoNative_HmacCurrent", nullptr},
{0x309225f98c3ec44c, "AndroidCryptoNative_EcKeyUpRef", nullptr},
{0x30f009a9cc61fecd, "AndroidCryptoNative_X509ExportPkcs7", nullptr},
{0x317764b222cff251, "CryptoNative_HmacDestroy", nullptr},
{0x3230c819526d7ffb, "AndroidCryptoNative_NewGlobalReference", nullptr},
{0x346fa00d618dad31, "AndroidCryptoNative_RegisterRemoteCertificateValidationCallback", nullptr},
{0x34bb308ca52d130c, "SystemNative_SetTerminalInvalidationHandler", nullptr},
{0x35bd95dce64cdafa, "SystemNative_CreateAutoreleasePool", nullptr},
{0x35cc10818712e3d9, "AndroidCryptoNative_X509ChainDestroyContext", nullptr},
{0x368d7cfd2be8649d, "SystemNative_ConvertErrorPalToPlatform", nullptr},
{0x36f332698544689b, "AndroidCryptoNative_X509StoreAddCertificateWithPrivateKey", nullptr},
{0x36fa682d14b60fab, "SystemNative_GetFileSystemType", nullptr},
{0x3768a2c7a4a8472c, "SystemNative_GetGroupList", nullptr},
{0x386677516cf71915, "AndroidCryptoNative_CipherSetKeyAndIV", nullptr},
{0x38a8dd751094700a, "SystemNative_ReadProcessStatusInfo", nullptr},
{0x3903d6df930e5cba, "SystemNative_SchedGetCpu", nullptr},
{0x39cbc53a5e7a2296, "SystemNative_SetSendTimeout", nullptr},
{0x3a9f009544a121c4, "AndroidCryptoNative_GetBigNumBytes", nullptr},
{0x3b0b4455b3fea9e2, "SystemNative_SetRLimit", nullptr},
{0x410f9f7b2f005550, "AndroidCryptoNative_RsaDestroy", nullptr},
{0x416e0fa70c2179ec, "AndroidCryptoNative_X509ChainGetCertificateCount", nullptr},
{0x420ff73cd044a8dc, "AndroidCryptoNative_Aes128Cfb128", nullptr},
{0x4248cdaef14acb79, "AndroidCryptoNative_X509StoreContainsCertificate", nullptr},
{0x42a554ec0ce254ae, "AndroidCryptoNative_Aes192Ecb", nullptr},
{0x4301f64983badc90, "SystemNative_PWrite", nullptr},
{0x432500081cc652f8, "CryptoNative_GetRandomBytes", nullptr},
{0x43aaaf4942d8b8da, "SystemNative_SymLink", nullptr},
{0x440e98d93a293ba0, "SystemNative_CreateSocketEventPort", nullptr},
{0x4486e6e253893309, "SystemNative_SetIPv6MulticastOption", nullptr},
{0x448db6657f92e75a, "AndroidCryptoNative_EcDsaSign", nullptr},
{0x456992c75547a4f3, "SystemNative_SearchPath", nullptr},
{0x45bfcea680be5b98, "SystemNative_StrErrorR", nullptr},
{0x468281594e963224, "AndroidCryptoNative_Aes192Ccm", nullptr},
{0x4853b92c2e9e7f4b, "SystemNative_SetEUid", nullptr},
{0x4867eae89a5c605a, "SystemNative_MksTemps", nullptr},
{0x488380dda2b559e6, "SystemNative_SetSignalForBreak", nullptr},
{0x48be037e38782252, "CryptoNative_EnsureOpenSslInitialized", nullptr},
{0x4bc828cf09a41783, "SystemNative_FreeEnviron", nullptr},
{0x4c4ddfc64007b3d8, "SystemNative_GetHostName", nullptr},
{0x4c865a5faaa699d9, "SystemNative_Open", nullptr},
{0x4cb0abad20b660da, "AndroidCryptoNative_DsaSizeSignature", nullptr},
{0x4d3feb733848581a, "BrotliDefaultFreeFunc", nullptr},
{0x4e34be0385a639e0, "SystemNative_GetEstimatedUdpListenerCount", nullptr},
{0x4e4c2c32afc6a7f4, "SystemNative_GetDomainName", nullptr},
{0x4e8906538f196b8b, "SystemNative_GetDefaultTimeZone", nullptr},
{0x4f0cd5dc6654eabd, "SystemNative_GetDomainSocketSizes", nullptr},
{0x4f8005ea44eeabaf, "SystemNative_Access", nullptr},
{0x5003dbeba3d4e54f, "CompressionNative_InflateInit2_", nullptr},
{0x50133cb6d7de427d, "CryptoNative_ErrGetErrorAlloc", nullptr},
{0x5054abbd2a816def, "SystemNative_FSync", nullptr},
{0x50b366b9079ed438, "SystemNative_OpenDir", nullptr},
{0x518a82c4baeba9f3, "SystemNative_GetPeerName", nullptr},
{0x52efc90a9cdf8e01, "SystemNative_MkFifo", nullptr},
{0x53405b468622bb06, "SystemNative_MAdvise", nullptr},
{0x534a064c11a1da14, "SystemNative_Sync", nullptr},
{0x536599a0b4941c95, "SystemNative_InterfaceNameToIndex", nullptr},
{0x53cb0f96f17cff42, "AndroidCryptoNative_SSLStreamGetProtocol", nullptr},
{0x54524b9f89e55d3d, "BrotliDecoderTakeOutput", nullptr},
{0x5648a01a8d57fdf3, "AndroidCryptoNative_X509DecodeCollection", nullptr},
{0x5823d482b63b2860, "SystemNative_GetIcmpv4GlobalStatistics", nullptr},
{0x583fdee12d227d5f, "SystemNative_UninitializeConsoleAfterRead", nullptr},
{0x5853b15220b1ee6a, "CryptoNative_EvpDigestReset", nullptr},
{0x5942ff24112993fa, "AndroidCryptoNative_X509StoreRemoveCertificate", nullptr},
{0x5a75a60866335990, "AndroidCryptoNative_CipherReset", nullptr},
{0x5aeca31503564e7a, "SystemNative_SetIPv6Address", nullptr},
{0x5b5b464e5ac70723, "SystemNative_GetPwNamR", nullptr},
{0x5b949451739e8d5f, "BrotliTransformDictionaryWord", nullptr},
{0x5c5e377ffc014725, "SystemNative_GetIPv6MulticastOption", nullptr},
{0x5c7d6b05ab441b19, "BrotliEncoderTakeOutput", nullptr},
{0x5d313b66133525dd, "AndroidCryptoNative_DsaVerify", nullptr},
{0x5da518340c1ff030, "AndroidCryptoNative_SSLStreamGetCipherSuite", nullptr},
{0x5da71c5ad9e62227, "CryptoNative_ErrClearError", nullptr},
{0x5ee515bd481f2bd4, "SystemNative_LowLevelMonitor_Acquire", nullptr},
{0x5f244ca5a82b9774, "BrotliEncoderHasMoreOutput", nullptr},
{0x5f82f97ca095658b, "BrotliDecoderSetParameter", nullptr},
{0x5f9847ed82132fe9, "AndroidCryptoNative_DsaGenerateKey", nullptr},
{0x5fb5b25085954758, "SystemNative_WaitForSocketEvents", nullptr},
{0x602fb528570aac64, "AndroidCryptoNative_X509Decode", nullptr},
{0x60b05e56d3019552, "SystemNative_SchedGetAffinity", nullptr},
{0x60c6910070d40de1, "AndroidCryptoNative_EcDsaVerify", nullptr},
{0x6111615e66a35dfb, "SystemNative_EnumerateInterfaceAddresses", nullptr},
{0x6197b24597638a4d, "SystemNative_SchedSetAffinity", nullptr},
{0x623531712908fe66, "SystemNative_INotifyRemoveWatch", nullptr},
{0x635933f4cff8a8a9, "AndroidCryptoNative_Aes192Cbc", nullptr},
{0x63c8ebedf5349f0e, "AndroidCryptoNative_DesCfb8", nullptr},
{0x641f5aa5faefc192, "CryptoNative_EvpDigestOneShot", nullptr},
{0x64c72180e4345ad8, "AndroidCryptoNative_CipherSetNonceLength", nullptr},
{0x6515d6c9d0d546d6, "SystemNative_HandleNonCanceledPosixSignal", nullptr},
{0x65a79b2aefb681e1, "SystemNative_CreateSocketEventBuffer", nullptr},
{0x6632872520cf1856, "SystemNative_LoadLibrary", nullptr},
{0x67ddf0b252c19629, "BrotliDecoderVersion", nullptr},
{0x6ac693dcf9d7c4c2, "SystemNative_GetLoadLibraryError", nullptr},
{0x6b10f070ae0146d4, "AndroidCryptoNative_CipherCreate", nullptr},
{0x6b233bbc205939bf, "AndroidCryptoNative_SSLStreamHandshake", nullptr},
{0x6bdc893ef8be99e7, "SystemNative_GetIPSocketAddressSizes", nullptr},
{0x6c75d5288ddd4b4a, "AndroidCryptoNative_DesEcb", nullptr},
{0x6c9f2e6d12a317a2, "AndroidCryptoNative_Aes256Ccm", nullptr},
{0x6ccc11e6813e7f89, "SystemNative_Close", nullptr},
{0x6ce645aa9c1da3f1, "SystemNative_SetWindowSize", nullptr},
{0x6ce88a9602bd3bf2, "SystemNative_GetBootTimeTicks", nullptr},
{0x6d1e60bdbeb87aa9, "SystemNative_SetIPv4Address", nullptr},
{0x6d5016f1bf6782cb, "AndroidCryptoNative_RsaVerificationPrimitive", nullptr},
{0x6d9db217f987fc7e, "SystemNative_Socket", nullptr},
{0x6e033524246b8a6d, "AndroidCryptoNative_Des3Cfb64", nullptr},
{0x6e475cc1867fa906, "AndroidCryptoNative_GetRsaParameters", nullptr},
{0x6ef0cc23b1711109, "AndroidCryptoNative_X509Encode", nullptr},
{0x6f77f6e8db26374f, "SystemNative_IsATty", nullptr},
{0x6f922777ebe8d79e, "SystemNative_Malloc", nullptr},
{0x6fcf389a08fab67e, "BrotliDecoderGetErrorCode", nullptr},
{0x701cf6776d74a875, "SystemNative_Read", nullptr},
{0x70677741626a2e15, "AndroidCryptoNative_SSLStreamCreateWithCertificates", nullptr},
{0x71218925a8d060b1, "SystemNative_GetNetworkInterfaces", nullptr},
{0x7301d7267cea8ff8, "AndroidCryptoNative_Aes128Cbc", nullptr},
{0x734d29a9e11cade9, "AndroidCryptoNative_SetRsaParameters", nullptr},
{0x738eea537c56f36d, "CompressionNative_Inflate", nullptr},
{0x74e53082f77e5dff, "SystemNative_SysLog", nullptr},
{0x765df089d5185c2b, "AndroidCryptoNative_X509GetContentType", nullptr},
{0x765f6361f405e79a, "SystemNative_ForkAndExecProcess", nullptr},
{0x770af8a028315323, "CryptoNative_HmacFinal", nullptr},
{0x770c854f9d8fe5ad, "SystemNative_GetControlMessageBufferSize", nullptr},
{0x773a826df5eecb8f, "CompressionNative_DeflateEnd", nullptr},
{0x77a3e166c102211d, "SystemNative_GetFormatInfoForMountPoint", nullptr},
{0x77d36cd5ec642bf3, "SystemNative_GetCryptographicallySecureRandomBytes", nullptr},
{0x781383ccc1793510, "SystemNative_WaitPidExitedNoHang", nullptr},
{0x7898906cee77fd0d, "BrotliEncoderCompressStream", nullptr},
{0x7968d93f3fa1bab1, "SystemNative_GetUdpGlobalStatistics", nullptr},
{0x796b251d2588bc63, "SystemNative_GetSocketErrorOption", nullptr},
{0x79ccbee4c8e32326, "AndroidCryptoNative_EcKeyCreateByOid", nullptr},
{0x79d100930afa1766, "AndroidCryptoNative_Aes128Cfb8", nullptr},
{0x79e8eff2d376e66c, "SystemNative_SetPort", nullptr},
{0x7a053775a8f42fc2, "AndroidCryptoNative_CipherCtxSetPadding", nullptr},
{0x7a29175f11a270ea, "SystemNative_GetWindowSize", nullptr},
{0x7ae85ea990d95e9d, "AndroidCryptoNative_DesCbc", nullptr},
{0x7b1d33b9b9e02e92, "SystemNative_GetAllMountPoints", nullptr},
{0x7bd4c5177f644b56, "AndroidCryptoNative_Aes256Gcm", nullptr},
{0x7bf2f52482327dd5, "SystemNative_InitializeTerminalAndSignalHandling", nullptr},
{0x80688494741a5e42, "SystemNative_PWriteV", nullptr},
{0x80895d5b6ed7bc6f, "SystemNative_INotifyAddWatch", nullptr},
{0x81461674c3a5b361, "AndroidCryptoNative_SSLSupportsApplicationProtocolsConfiguration", nullptr},
{0x82521dc7a3e0a884, "AndroidCryptoNative_Aes256Cfb8", nullptr},
{0x839c5b2482c5e130, "CryptoNative_ErrPeekLastError", nullptr},
{0x86178ff6f2ff90f4, "SystemNative_PlatformSupportsDualModeIPv4PacketInfo", nullptr},
{0x866d289872995b56, "AndroidCryptoNative_X509StoreEnumerateCertificates", nullptr},
{0x86b09bf921350f8c, "SystemNative_Log", nullptr},
{0x87c7d4815a4fd057, "CryptoNative_EvpSha1", nullptr},
{0x885b44a0a26bd2b1, "SystemNative_iOSSupportVersion", nullptr},
{0x88609da0c505eef2, "SystemNative_GetSockName", nullptr},
{0x89247296890e0e11, "AndroidCryptoNative_RsaGenerateKeyEx", nullptr},
{0x8974649123c73b3a, "AndroidCryptoNative_X509ChainGetCertificates", nullptr},
{0x89eb2143eaf31e02, "AndroidCryptoNative_CipherFinalEx", nullptr},
{0x8a029a658be9b4ba, "SystemNative_GetNameInfo", nullptr},
{0x8a77d11f27675523, "SystemNative_Shutdown", nullptr},
{0x8b8d4161ec68a231, "CryptoNative_GetMaxMdSize", nullptr},
{0x8be2570a4cdd6f78, "AndroidCryptoNative_SSLStreamInitialize", nullptr},
{0x8c43f01e370cf364, "AndroidCryptoNative_SSLStreamRead", nullptr},
{0x8d0380032cd9849b, "AndroidCryptoNative_CipherUpdateAAD", nullptr},
{0x8d4dd116c1491692, "BrotliDecoderHasMoreOutput", nullptr},
{0x8d985a6974efb1de, "CompressionNative_InflateEnd", nullptr},
{0x8dd7677a7bafb2bc, "AndroidCryptoNative_SSLStreamSetApplicationProtocols", nullptr},
{0x8df2d435f496be2a, "BrotliEncoderCreateInstance", nullptr},
{0x8f45944752452604, "AndroidCryptoNative_SSLStreamRequestClientAuthentication", nullptr},
{0x8f60e80423d70c42, "SystemNative_GetActiveTcpConnectionInfos", nullptr},
{0x8f84e1abc8b41572, "AndroidCryptoNative_DecodeRsaSubjectPublicKeyInfo", nullptr},
{0x8fc3039474854024, "AndroidCryptoNative_X509ChainBuild", nullptr},
{0x900a5fe5a7cea9f9, "SystemNative_MMap", nullptr},
{0x90d9ebb100ad5e41, "SystemNative_Write", nullptr},
{0x910047ee66e18af8, "SystemNative_GetPlatformSignalNumber", nullptr},
{0x91f6249923fc7ca4, "BrotliDecoderErrorString", nullptr},
{0x923761c06621fc21, "AndroidCryptoNative_SSLStreamCreate", nullptr},
{0x92a62b67d38387f0, "BrotliGetDictionary", nullptr},
{0x93b73b2af8e2f32b, "CryptoNative_HmacCreate", nullptr},
{0x93bd1d78b75cda99, "SystemNative_GetTcpGlobalStatistics", nullptr},
{0x94663f3d60f11d38, "SystemNative_ReadEvents", nullptr},
{0x94e89a01440d3e20, "SystemNative_Sysctl", nullptr},
{0x95940b764538e429, "CryptoNative_EvpMd5", nullptr},
{0x96e077416ca46a87, "SystemNative_SetIPv4MulticastOption", nullptr},
{0x96f19c02d0adebc0, "CompressionNative_DeflateReset", nullptr},
{0x972ca1612e79b321, "SystemNative_GetDefaultSearchOrderPseudoHandle", nullptr},
{0x97405b82e3c52c1a, "SystemNative_GetSignalForBreak", nullptr},
{0x97d308df1fc75bdd, "SystemNative_GetHostEntryForName", nullptr},
{0x99427666e7af4fb2, "SystemNative_WaitIdAnyExitedNoHangNoWait", nullptr},
{0x995a6ef8c157e501, "BrotliDefaultAllocFunc", nullptr},
{0x9a575bf9be0cda24, "SystemNative_GetTimestamp", nullptr},
{0x9a5784d7b9292dee, "SystemNative_FreeSocketEventBuffer", nullptr},
{0x9a658cc760e9f82a, "AndroidCryptoNative_DsaSizeP", nullptr},
{0x9a94d422e7ce86a0, "SystemNative_MSync", nullptr},
{0x9b085a4cffebaaf8, "SystemNative_RealPath", nullptr},
{0x9bae6c6ea595ce2d, "SystemNative_GetBytesAvailable", nullptr},
{0x9c42ec4972fd21b6, "SystemNative_GetEstimatedTcpConnectionCount", nullptr},
{0x9d3374fefcdada01, "AndroidCryptoNative_DsaSignatureFieldSize", nullptr},
{0x9d9a9cd6dda3f7f0, "AndroidCryptoNative_RsaSignPrimitive", nullptr},
{0x9dca3a00eb020c26, "SystemNative_Kill", nullptr},
{0x9e86fd86c120034b, "BrotliEncoderSetParameter", nullptr},
{0x9f2c58763a4a0204, "AndroidCryptoNative_CipherDestroy", nullptr},
{0x9f49fe6c41cc0f4b, "AndroidCryptoNative_AeadCipherFinalEx", nullptr},
{0x9fef6788420c40ee, "SystemNative_ConfigureTerminalForChildProcess", nullptr},
{0xa0a607a66d45fb2a, "AndroidCryptoNative_SSLStreamVerifyHostname", nullptr},
{0xa123cb29f5f736e7, "SystemNative_ReceiveMessage", nullptr},
{0xa22a5b5aa58c39d1, "SystemNative_GetNumRoutes", nullptr},
{0xa23f5e3f758fc4c0, "SystemNative_GetPid", nullptr},
{0xa2cd91a41d9cfa7c, "AndroidCryptoNative_Aes256Cbc", nullptr},
{0xa482e9592d7fc872, "SystemNative_CloseSocketEventPort", nullptr},
{0xa60707ebce568092, "SystemNative_GetPeerID", nullptr},
{0xa78db9df16110d0e, "SystemNative_LowLevelMonitor_Destroy", nullptr},
{0xa7cafc1044da3306, "AndroidCryptoNative_SSLStreamGetPeerCertificate", nullptr},
{0xa7eddf7aa0386c06, "SystemNative_ReadLink", nullptr},
{0xa7faf228e9142fa7, "AndroidCryptoNative_Aes128Gcm", nullptr},
{0xa8e064cf368a12a2, "CryptoNative_EvpSha256", nullptr},
{0xa9a6737ccbc0bdbf, "AndroidCryptoNative_SSLStreamSetEnabledProtocols", nullptr},
{0xaa02e3a360bdd4d5, "CryptoNative_EvpMdCtxCreate", nullptr},
{0xaa07629dc820e22a, "SystemNative_EnablePosixSignalHandling", nullptr},
{0xabc01085229fb24a, "AndroidCryptoNative_SSLGetSupportedProtocols", nullptr},
{0xac60de4d530c2c96, "AndroidCryptoNative_DsaSign", nullptr},
{0xad0dfe04eb0152bd, "SystemNative_CreateThread", nullptr},
{0xad747aacfdb6b0c0, "AndroidCryptoNative_RsaUpRef", nullptr},
{0xadb79f95f46c8971, "SystemNative_PReadV", nullptr},
{0xae39a18202281ac3, "AndroidCryptoNative_EcKeyGetCurveName", nullptr},
{0xaec79fea71aa6d7a, "SystemNative_FLock", nullptr},
{0xaed9a241cf99cd55, "BrotliDecoderIsFinished", nullptr},
{0xaef741e4859af385, "SystemNative_GetSpaceInfoForMountPoint", nullptr},
{0xaf21e7be03c2fb61, "SystemNative_Exit", nullptr},
{0xaf42ab86d7ae7234, "CryptoNative_EvpDigestUpdate", nullptr},
{0xafa04d18f40b1bab, "SystemNative_GetActiveUdpListeners", nullptr},
{0xb02f9b90348112d6, "SystemNative_SysConf", nullptr},
{0xb06f79e2fa5fec2d, "SystemNative_GetIPv6Address", nullptr},
{0xb0b0531f400704f1, "SystemNative_GetAddressFamily", nullptr},
{0xb0ef04e06fbb3240, "SystemNative_Dup", nullptr},
{0xb138b853c7a4a4a8, "SystemNative_CanGetHiddenFlag", nullptr},
{0xb17e57a6eb07b615, "AndroidCryptoNative_EcKeyCreateByKeyParameters", nullptr},
{0xb19a7e97cdc0b913, "AndroidCryptoNative_Aes256Ecb", nullptr},
{0xb209c10b8961d087, "SystemNative_Receive", nullptr},
{0xb604142a3e49cee4, "SystemNative_MapTcpState", nullptr},
{0xb67664922784f32b, "AndroidCryptoNative_EcKeyDestroy", nullptr},
{0xb6c399d932af3c1a, "SystemNative_INotifyInit", nullptr},
{0xb6d407fb35407175, "AndroidCryptoNative_RsaPublicEncrypt", nullptr},
{0xb71daf29c30fd6b5, "AndroidCryptoNative_Aes192Cfb128", nullptr},
{0xb793526cfb13eaea, "CryptoNative_HmacUpdate", nullptr},
{0xb828fd7591d32578, "CryptoNative_EvpDigestFinalEx", nullptr},
{0xb8dcd81ffcc65085, "AndroidCryptoNative_EcDsaSize", nullptr},
{0xb9d15f58ff667372, "SystemNative_GetCpuUtilization", nullptr},
{0xb9e823fef91d7070, "SystemNative_SetErrNo", nullptr},
{0xba0b2bcd8c41ff3d, "SystemNative_GetGroups", nullptr},
{0xba4a7bd6a7fa6945, "SystemNative_SetAddressFamily", nullptr},
{0xba6886ccfa80626b, "AndroidCryptoNative_SSLStreamGetApplicationProtocol", nullptr},
{0xbc8a71bdf8f67199, "SystemNative_FChMod", nullptr},
{0xbd1258bab271b229, "BrotliEncoderCompress", nullptr},
{0xbe981a1df49c24f7, "SystemNative_GetErrNo", nullptr},
{0xbebe67153489dfab, "CompressionNative_Deflate", nullptr},
{0xbecee78cd8cae9a5, "AndroidCryptoNative_X509ChainSetCustomTrustStore", nullptr},
{0xbf9ede3b44d0f94d, "SystemNative_StdinReady", nullptr},
{0xc09d459df47d69bc, "AndroidCryptoNative_X509StoreOpenDefault", nullptr},
{0xc0cdd73c32d43865, "SystemNative_CloseDir", nullptr},
{0xc0cefe3f971c7a84, "SystemNative_LSeek", nullptr},
{0xc20a6849522df846, "SystemNative_GetIPv4MulticastOption", nullptr},
{0xc2aef4d3d7662251, "SystemNative_SetReceiveTimeout", nullptr},
{0xc35e0c7ce2e3e74d, "BrotliDecoderDestroyInstance", nullptr},
{0xc37b2ffbc753aba3, "SystemNative_SendMessage", nullptr},
{0xc3b018f07b7eb078, "SystemNative_Listen", nullptr},
{0xc443fe50f5f9caec, "BrotliDecoderDecompress", nullptr},
{0xc5172279d0dd8ce4, "CryptoNative_EvpSha512", nullptr},
{0xc5326cd95646b911, "SystemNative_FUTimens", nullptr},
{0xc5a55c1ea92b8dad, "SystemNative_PRead", nullptr},
{0xc5a7ec27a7306804, "AndroidCryptoNative_Des3Cfb8", nullptr},
{0xc5c6b0f531797660, "AndroidCryptoNative_GetDsaParameters", nullptr},
{0xc643198ec90f44b7, "SystemNative_MkNod", nullptr},
{0xc6a7ac7c8d82da0c, "AndroidCryptoNative_RsaPrivateDecrypt", nullptr},
{0xc8e10aa226d34595, "AndroidCryptoNative_X509StoreEnumerateTrustedCertificates", nullptr},
{0xc97ff652fd643526, "SystemNative_SetRawSockOpt", nullptr},
{0xc9b3a472e57ad75b, "SystemNative_LStat", nullptr},
{0xca69ff5c3588181d, "SystemNative_Connect", nullptr},
{0xca8dd81e068f6d5d, "CompressionNative_Crc32", nullptr},
{0xcab44118a04313c8, "SystemNative_AlignedFree", nullptr},
{0xcad564dfb8b65b6d, "BrotliEncoderVersion", nullptr},
{0xcb5ebca6fa5898e8, "SystemNative_ShmUnlink", nullptr},
{0xcccc7d65ab29bfdf, "AndroidCryptoNative_Aes192Gcm", nullptr},
{0xcf0eb8447008ac4b, "SystemNative_GetNonCryptographicallySecureRandomBytes", nullptr},
{0xcf1ebcf60da1e73d, "SystemNative_ChDir", nullptr},
{0xd139a439e91397c7, "SystemNative_UTimensat", nullptr},
{0xd1a09d09818ab7b7, "CryptoNative_HmacReset", nullptr},
{0xd1c3356673c496c4, "SystemNative_PathConf", nullptr},
{0xd1f402b89452622e, "SystemNative_SetPriority", nullptr},
{0xd2094a0d05569d59, "SystemNative_FcntlGetIsNonBlocking", nullptr},
{0xd288c9a383c6257e, "SystemNative_Free", nullptr},
{0xd292446eea98fca0, "SystemNative_GetEGid", nullptr},
{0xd295642d09a691b3, "SystemNative_MkDir", nullptr},
{0xd34ec642e4af5af1, "AndroidCryptoNative_SSLStreamGetPeerCertificates", nullptr},
{0xd4c4c2bec6908797, "SystemNative_CopyFile", nullptr},
{0xd51a39cf7f84a49d, "AndroidCryptoNative_EcKeyCreateByExplicitParameters", nullptr},
{0xd585c80f41abb13d, "SystemNative_LowLevelMonitor_Release", nullptr},
{0xd692f9150ac3480d, "SystemNative_LogError", nullptr},
{0xd71c4eaf80ea218b, "SystemNative_SNPrintF", nullptr},
{0xd7fa29bcafe538c2, "SystemNative_FcntlSetFD", nullptr},
{0xd87251da5bbfe12d, "SystemNative_LowLevelMonitor_Signal_Release", nullptr},
{0xd8df8828ccf9a3b0, "SystemNative_GetReadDirRBufferSize", nullptr},
{0xd902111ff06b4394, "SystemNative_GetPriority", nullptr},
{0xd91dd919830c19eb, "SystemNative_GetLingerOption", nullptr},
{0xd9f6316abc960def, "SystemNative_SetSockOpt", nullptr},
{0xdb2d35cbda83c044, "AndroidCryptoNative_CipherSetTagLength", nullptr},
{0xdbafc90d9a1f18ba, "SystemNative_Pipe", nullptr},
{0xdbb2bd51375f6815, "SystemNative_GetRLimit", nullptr},
{0xdd0a4092f77abe2e, "CompressionNative_DeflateInit2_", nullptr},
{0xddb231fe8665bdce, "SystemNative_GetDeviceIdentifiers", nullptr},
{0xdf32dc1e6afdd53c, "AndroidCryptoNative_X509ChainGetErrorCount", nullptr},
{0xdf55a952b5b68eb0, "SystemNative_SetDelayedSigChildConsoleConfigurationHandler", nullptr},
{0xdf9869ddc8cc3e5e, "SystemNative_Send", nullptr},
{0xdf9b606ab10c66da, "SystemNative_SearchPath_TempDirectory", nullptr},
{0xdfc9137d2a3eb69e, "SystemNative_ShmOpen", nullptr},
{0xe0c2779cc1f345e5, "SystemNative_GetSystemTimeAsTicks", nullptr},
{0xe0e1dc5c7f1c62d1, "SystemNative_GetRawSockOpt", nullptr},
{0xe131ad898555c8ac, "AndroidCryptoNative_RsaSize", nullptr},
{0xe137f89ab83a877a, "AndroidCryptoNative_EcKeyGetSize", nullptr},
{0xe1e68596154c4a01, "AndroidCryptoNative_DeleteGlobalReference", nullptr},
{0xe23a89bf78db12b6, "SystemNative_Rename", nullptr},
{0xe23e9d9421fe669c, "BrotliDecoderCreateInstance", nullptr},
{0xe2ff891a5773274d, "SystemNative_FChflags", nullptr},
{0xe313344977efd173, "BrotliEncoderMaxCompressedSize", nullptr},
{0xe31ff77ee993301b, "AndroidCryptoNative_SSLStreamRelease", nullptr},
{0xe4b4ef9a27c8a0c5, "SystemNative_DrainAutoreleasePool", nullptr},
{0xe5870c0ed57dc802, "SystemNative_SetKeypadXmit", nullptr},
{0xe5dcd5cc2901be3e, "AndroidCryptoNative_GetECCurveParameters", nullptr},
{0xe667c4f469004ea0, "AndroidCryptoNative_Aes256Cfb128", nullptr},
{0xe80622add45b97ef, "SystemNative_GetUnixVersion", nullptr},
{0xe80f5b39f5d56291, "SystemNative_Bind", nullptr},
{0xe8a2a4e48b7bcc3b, "SystemNative_SendFile", nullptr},
{0xe8d422db4e9c9048, "SystemNative_SetLingerOption", nullptr},
{0xea42807e7669e77b, "SystemNative_FcntlCanGetSetPipeSz", nullptr},
{0xea85b7f62e881225, "SystemNative_PosixFAdvise", nullptr},
{0xeb32071da81006e3, "CryptoNative_ErrErrorStringN", nullptr},
{0xed42e6bfb8693696, "AndroidCryptoNative_X509ChainCreateContext", nullptr},
{0xf06f3baab2b1989b, "SystemNative_Stat", nullptr},
{0xf0d9b12309074e7b, "SystemNative_GetSid", nullptr},
{0xf0ecd4416f62acfa, "SystemNative_EnumerateGatewayAddressesForInterface", nullptr},
{0xf10b31d4d66b80dd, "SystemNative_LowLevelMonitor_Wait", nullptr},
{0xf12df5fb4b6069c4, "SystemNative_MUnmap", nullptr},
{0xf1671aab17cc18d5, "SystemNative_FreeLibrary", nullptr},
{0xf247211e6759476f, "SystemNative_GetPort", nullptr},
{0xf3471f94b386b762, "SystemNative_GetGroupName", nullptr},
{0xf3905b32da336a2e, "SystemNative_GetUnixRelease", nullptr},
{0xf3f61096a5089cfc, "SystemNative_DisablePosixSignalHandling", nullptr},
{0xf4a597d0067676a3, "SystemNative_ChMod", nullptr},
{0xf5786a949a070824, "SystemNative_CreateNetworkChangeListenerSocket", nullptr},
{0xf60a1dfd974a7e55, "AndroidCryptoNative_Aes192Cfb8", nullptr},
{0xf60b6d0d58338d19, "SystemNative_Abort", nullptr},
{0xf636f6f74c59be39, "SystemNative_FcntlSetIsNonBlocking", nullptr},
{0xf6fb8a01c3c2e832, "SystemNative_FStat", nullptr},
{0xf71a65bf13d06e36, "AndroidCryptoNative_SSLStreamShutdown", nullptr},
{0xf71c8afac12d2ef1, "SystemNative_ReadStdin", nullptr},
{0xf82dce532682171e, "SystemNative_SetPosixSignalHandler", nullptr},
{0xf892e34f797b1e44, "SystemNative_GetIcmpv6GlobalStatistics", nullptr},
{0xf8ea2aa77d1fcef2, "AndroidCryptoNative_Des3Cbc", nullptr},
{0xfa98d597ec80a833, "SystemNative_FTruncate", nullptr},
{0xfb7e5b48d6097e01, "SystemNative_AlignedRealloc", nullptr},
{0xfc61bb67ab6246d9, "SystemNative_GetMaximumAddressSize", nullptr},
{0xfd635b23f61d5b67, "SystemNative_GetIPv4Address", nullptr},
{0xfd8e7b20c15262b7, "SystemNative_ReadDirR", nullptr},
{0xfdb1f7d817f7c4c5, "SystemNative_GetEnv", nullptr},
{0xfdd2763d030c73b9, "BrotliGetTransforms", nullptr},
{0xffa666c4ef0b22eb, "AndroidCryptoNative_X509StoreAddCertificate", nullptr},
{0x99f2ee02463000, "CompressionNative_Crc32", nullptr},
{0xb38afc8bfe830b, "SystemNative_Bind", nullptr},
{0x190fe65d8736dcb, "SystemNative_TryGetIPPacketInformation", nullptr},
{0x1c8b86562ad5772, "SystemNative_Receive", nullptr},
{0x202543f28ecaf06, "SystemNative_Abort", nullptr},
{0x25abeafa88904a2, "SystemNative_SetPosixSignalHandler", nullptr},
{0x33158212a812caf, "SystemNative_GetEstimatedTcpConnectionCount", nullptr},
{0x3511e36d0a6c1b5, "SystemNative_LockFileRegion", nullptr},
{0x375a0e90c77ca35, "AndroidCryptoNative_EcKeyCreateByExplicitParameters", nullptr},
{0x37b9dd562235e42, "SystemNative_MSync", nullptr},
{0x3a5df4793dd3230, "SystemNative_INotifyInit", nullptr},
{0x581df5b0a00c422, "SystemNative_SetRLimit", nullptr},
{0x598db66ca39c41f, "AndroidCryptoNative_EcKeyUpRef", nullptr},
{0x5b5ab451ff38f8e, "SystemNative_GetMaximumAddressSize", nullptr},
{0x656cac62ccc9e3c, "AndroidCryptoNative_X509GetContentType", nullptr},
{0x6861b5336291d12, "SystemNative_PathConf", nullptr},
{0x690c4347972024f, "AndroidCryptoNative_Aes256Gcm", nullptr},
{0x6a1f4deffa02c30, "SystemNative_LowLevelMonitor_Acquire", nullptr},
{0x7b5579ab0499b1f, "AndroidCryptoNative_RsaSize", nullptr},
{0x7ce8a9b967dd269, "SystemNative_Read", nullptr},
{0x7f0e1227c9c0225, "CryptoNative_EvpMdCtxDestroy", nullptr},
{0x8352ae4bba2b83b, "SystemNative_SetSendTimeout", nullptr},
{0x98bd27a7461321d, "SystemNative_Dup", nullptr},
{0x9a39fbf59eed9f9, "CryptoNative_EvpSha1", nullptr},
{0xa4aeeaff9ca2d10, "BrotliDecoderDecompressStream", nullptr},
{0xa906c14ca5834bc, "SystemNative_GetEUid", nullptr},
{0xac9f9c1abb62a92, "SystemNative_Log", nullptr},
{0xadb2441bcfcdfe9, "SystemNative_CreateThread", nullptr},
{0xafbf5c69d1badc0, "SystemNative_SetTerminalInvalidationHandler", nullptr},
{0xba897b7abe67b16, "SystemNative_FcntlSetPipeSz", nullptr},
{0xc305c22ce7ab8a0, "SystemNative_SetSockOpt", nullptr},
{0xc79e924361c15ca, "SystemNative_RealPath", nullptr},
{0xcaba893801c6a6f, "AndroidCryptoNative_Aes256Ecb", nullptr},
{0xcbe6d3d22131194, "AndroidCryptoNative_SetRsaParameters", nullptr},
{0xef8dd67e25bac53, "SystemNative_GetWindowSize", nullptr},
{0xfa0899cf8d00a87, "SystemNative_MkDir", nullptr},
{0xfe7079441ac127e, "SystemNative_CreateSocketEventPort", nullptr},
{0x1027786cdd9a3e9c, "AndroidCryptoNative_Aes192Cbc", nullptr},
{0x10d733abd1fd94bb, "SystemNative_TryChangeSocketEventRegistration", nullptr},
{0x114b8384553f5418, "SystemNative_GetSystemTimeAsTicks", nullptr},
{0x11b6f4f0aafeda95, "SystemNative_LowLevelMonitor_TimedWait", nullptr},
{0x11cc73f2926d4064, "SystemNative_ConfigureTerminalForChildProcess", nullptr},
{0x121bc483ac26f5f8, "SystemNative_GetGroupName", nullptr},
{0x12d65f9f65b01497, "SystemNative_GetRawSockOpt", nullptr},
{0x12eaf09505dc19fd, "SystemNative_FStat", nullptr},
{0x13577369f5ec4b0a, "SystemNative_GetActiveTcpConnectionInfos", nullptr},
{0x1399413d8a7d9dd8, "SystemNative_GetAddressFamily", nullptr},
{0x13a1c2de7fb2519f, "SystemNative_CloseSocketEventPort", nullptr},
{0x146cd1dc4fb2ba58, "SystemNative_LChflagsCanSetHiddenFlag", nullptr},
{0x14b7e3527b60e83f, "CryptoNative_ErrErrorStringN", nullptr},
{0x15bd710d3a9b3b0c, "CryptoNative_EvpDigestFinalEx", nullptr},
{0x176e22ea7c580dae, "SystemNative_ReadDirR", nullptr},
{0x185f5d25252c3c72, "SystemNative_FAllocate", nullptr},
{0x18f7da5f584b5b59, "SystemNative_PReadV", nullptr},
{0x1948a0cf88329c2f, "SystemNative_HandleNonCanceledPosixSignal", nullptr},
{0x1ac95b02f23933cc, "SystemNative_CanGetHiddenFlag", nullptr},
{0x1d1bb0528d517729, "AndroidCryptoNative_SSLGetSupportedProtocols", nullptr},
{0x1d4dcbc06728e689, "SystemNative_Close", nullptr},
{0x1d6d4278ffbbab77, "SystemNative_Pipe", nullptr},
{0x1d8d6a688fc5bfb3, "SystemNative_SendFile", nullptr},
{0x1e6228e955989698, "AndroidCryptoNative_EcKeyCreateByOid", nullptr},
{0x1e8edcc515cd23f9, "CryptoNative_EvpDigestOneShot", nullptr},
{0x1f1c61a157636aad, "SystemNative_Stat", nullptr},
{0x1f45ac9d3c6b1554, "AndroidCryptoNative_SSLStreamGetCipherSuite", nullptr},
{0x1f7d2360a1cdcbff, "AndroidCryptoNative_SSLStreamCreate", nullptr},
{0x1f849e45a3014a9f, "SystemNative_GetIPv6Address", nullptr},
{0x1f9361fc7b624c1b, "SystemNative_LowLevelMonitor_Wait", nullptr},
{0x205a31e661496019, "CryptoNative_ErrGetErrorAlloc", nullptr},
{0x20784dcc7e9cee75, "BrotliGetTransforms", nullptr},
{0x218fce505a140c55, "AndroidCryptoNative_EcDsaVerify", nullptr},
{0x2291e0ba4e1b55b0, "SystemNative_LStat", nullptr},
{0x23ac2a4c4d1c744e, "AndroidCryptoNative_X509ChainGetCertificateCount", nullptr},
{0x24f840f903a26ded, "SystemNative_ConvertErrorPalToPlatform", nullptr},
{0x24ff74e427d0626e, "SystemNative_GetErrNo", nullptr},
{0x254905036a0061cf, "SystemNative_CreateSocketEventBuffer", nullptr},
{0x255c4a2e297fd9f5, "SystemNative_INotifyAddWatch", nullptr},
{0x267c94097a3bf1f3, "AndroidCryptoNative_CipherDestroy", nullptr},
{0x27944922cd8283ca, "CryptoNative_EvpSha384", nullptr},
{0x2795a01c2c64aea1, "CryptoNative_HmacReset", nullptr},
{0x27f3d9266af2b315, "SystemNative_GetIPv4Address", nullptr},
{0x2925953889c48cab, "SystemNative_CreateNetworkChangeListenerSocket", nullptr},
{0x2a49948ae20571cb, "SystemNative_SchedGetAffinity", nullptr},
{0x2c352dd7c367e438, "CryptoNative_EvpSha512", nullptr},
{0x2c7e5e179cc917cb, "AndroidCryptoNative_DsaSizeSignature", nullptr},
{0x2c8da1192c5d7d2b, "SystemNative_FLock", nullptr},
{0x2d64b1ac218cf29e, "SystemNative_AlignedRealloc", nullptr},
{0x2e1102c297588e10, "BrotliEncoderDestroyInstance", nullptr},
{0x2e429d96a9fc92bd, "SystemNative_InitializeTerminalAndSignalHandling", nullptr},
{0x2fdcf708ff792105, "AndroidCryptoNative_SSLStreamVerifyHostname", nullptr},
{0x307db94ae9f929e5, "CryptoNative_GetMaxMdSize", nullptr},
{0x31027564deeb71b0, "AndroidCryptoNative_Aes128Cbc", nullptr},
{0x3319a5483b3cc1fc, "SystemNative_GetRLimit", nullptr},
{0x3424ffcb69ecef57, "SystemNative_Unlink", nullptr},
{0x346a9bb11364833c, "SystemNative_DrainAutoreleasePool", nullptr},
{0x35169e67cc0f8529, "SystemNative_GetIPv6MulticastOption", nullptr},
{0x359205b4a10fa780, "SystemNative_LowLevelMonitor_Destroy", nullptr},
{0x35c1fa8dffcbbd8c, "CryptoNative_EvpDigestReset", nullptr},
{0x36128eed665b1923, "SystemNative_ShmUnlink", nullptr},
{0x364dcf65ae63adff, "SystemNative_GetSocketErrorOption", nullptr},
{0x3757b327944abb54, "SystemNative_EnablePosixSignalHandling", nullptr},
{0x38b4bd21127ceffd, "SystemNative_StrErrorR", nullptr},
{0x38c7de719e8ae69d, "SystemNative_RmDir", nullptr},
{0x391bbbb9bbde4455, "SystemNative_SetIPv4MulticastOption", nullptr},
{0x3a7245f3ea476bf7, "SystemNative_SNPrintF", nullptr},
{0x3ae92e4198427b0d, "SystemNative_ReadLink", nullptr},
{0x3e0de839e6cfa6e5, "SystemNative_Accept", nullptr},
{0x3e7cf9a4789a31c7, "SystemNative_FChflags", nullptr},
{0x3f19a16a3230b551, "AndroidCryptoNative_ChaCha20Poly1305", nullptr},
{0x3f49b6278f04ae84, "SystemNative_Disconnect", nullptr},
{0x3fba15600bf0f229, "SystemNative_SetEUid", nullptr},
{0x401935ffc3454bb1, "AndroidCryptoNative_X509PublicKey", nullptr},
{0x403e1bc0b3baba84, "CompressionNative_Inflate", nullptr},
{0x40bfa1211f5f6f9c, "AndroidCryptoNative_EcKeyGetCurveName", nullptr},
{0x41b6e7f32da99fa9, "AndroidCryptoNative_X509ChainDestroyContext", nullptr},
{0x41c169fb0e30a390, "AndroidCryptoNative_X509ChainGetErrorCount", nullptr},
{0x41c1f2c9153639af, "SystemNative_FUTimens", nullptr},
{0x420718c398131a55, "AndroidCryptoNative_SSLStreamGetProtocol", nullptr},
{0x42339dd2717504d9, "SystemNative_GetLingerOption", nullptr},
{0x42783107bf2935ec, "SystemNative_FreeHostEntry", nullptr},
{0x42eb0578a9d62b78, "SystemNative_GetFormatInfoForMountPoint", nullptr},
{0x43741165a5ba60d5, "AndroidCryptoNative_CipherUpdateAAD", nullptr},
{0x44ccb27979f980ce, "SystemNative_AlignedAlloc", nullptr},
{0x44f1a5c46033eec2, "SystemNative_SysLog", nullptr},
{0x469898c8d892af83, "BrotliEncoderCompress", nullptr},
{0x483b434d7b089c7e, "SystemNative_Write", nullptr},
{0x4845e1c76265acc9, "AndroidCryptoNative_X509StoreEnumerateCertificates", nullptr},
{0x484a3a445bdb14fc, "SystemNative_GetOSArchitecture", nullptr},
{0x4909639a9d87bdb5, "SystemNative_AlignedFree", nullptr},
{0x49e3ba95feb79c6c, "SystemNative_SetAddressFamily", nullptr},
{0x4a7272ac9d117f2d, "AndroidCryptoNative_EcKeyDestroy", nullptr},
{0x4b00795bbeea6f60, "SystemNative_SetIPv6Address", nullptr},
{0x4be7ceca50f3298c, "SystemNative_LowLevelMonitor_Create", nullptr},
{0x4bec4a1d7dfd4cf7, "SystemNative_GetUnixRelease", nullptr},
{0x4bfff22801b209ca, "SystemNative_LChflags", nullptr},
{0x4c22cc4f2b1dab26, "SystemNative_SetPriority", nullptr},
{0x4c5d96426f92c29d, "CryptoNative_HmacUpdate", nullptr},
{0x4d6361e5095cff36, "AndroidCryptoNative_DsaSign", nullptr},
{0x4d74053b37e582fa, "AndroidCryptoNative_X509ChainCreateContext", nullptr},
{0x501daf7e3a890220, "AndroidCryptoNative_X509ChainBuild", nullptr},
{0x523240c01d14ad50, "SystemNative_GetPeerID", nullptr},
{0x52794f1118d32f08, "SystemNative_GetUnixVersion", nullptr},
{0x52fc107ebdb6fcc7, "AndroidCryptoNative_X509StoreRemoveCertificate", nullptr},
{0x5381564d2c06c0a3, "SystemNative_SysConf", nullptr},
{0x556bc89d2d4dfc85, "SystemNative_GetDeviceIdentifiers", nullptr},
{0x558250d199e906bb, "CryptoNative_ErrReasonErrorString", nullptr},
{0x5592a052ceb4caf6, "SystemNative_GetProcessPath", nullptr},
{0x55fe2620f63d83d8, "SystemNative_SetDelayedSigChildConsoleConfigurationHandler", nullptr},
{0x574d77a68ec3e488, "SystemNative_GetEnv", nullptr},
{0x5755d1cd0c158620, "BrotliDecoderSetParameter", nullptr},
{0x580dda20ac9e83c6, "BrotliEncoderSetParameter", nullptr},
{0x583db0344a1cd715, "SystemNative_GetActiveUdpListeners", nullptr},
{0x5908581fe73717f0, "SystemNative_InterfaceNameToIndex", nullptr},
{0x5916efc3e1e49137, "CryptoNative_ErrPeekError", nullptr},
{0x5a114024ecd1162c, "CryptoNative_EvpDigestUpdate", nullptr},
{0x5a305cf2a314d6a6, "SystemNative_FTruncate", nullptr},
{0x5a337d9cc7d8bcfd, "CryptoNative_HmacCurrent", nullptr},
{0x5d503db70d17dad2, "BrotliEncoderIsFinished", nullptr},
{0x5dd1d1d024378765, "CryptoNative_EvpMdSize", nullptr},
{0x5e53b688fede3216, "SystemNative_GetControlCharacters", nullptr},
{0x5fa62856bdbba9c0, "SystemNative_GetPort", nullptr},
{0x5fd29ac523ff6e3d, "AndroidCryptoNative_SSLStreamRelease", nullptr},
{0x5ffae3c8023a80b8, "AndroidCryptoNative_SSLStreamGetPeerCertificate", nullptr},
{0x600b4418896f7808, "SystemNative_Exit", nullptr},
{0x6089f0c8112eb3d9, "SystemNative_InitializeConsoleBeforeRead", nullptr},
{0x613307e537d462db, "SystemNative_GetReadDirRBufferSize", nullptr},
{0x61bacd7170fd8c9b, "SystemNative_SchedSetAffinity", nullptr},
{0x61f3ce1b18b20d6f, "SystemNative_GetNativeIPInterfaceStatistics", nullptr},
{0x62351df42d842942, "SystemNative_GetSignalForBreak", nullptr},
{0x6393d30aceaa6df2, "SystemNative_PWriteV", nullptr},
{0x639e6e938ec8d9f2, "SystemNative_GetPeerUserName", nullptr},
{0x6448f0806bd3a338, "SystemNative_FreeEnviron", nullptr},
{0x648a9b317bc64fe0, "AndroidCryptoNative_RsaGenerateKeyEx", nullptr},
{0x650eddee76c6b8da, "SystemNative_GetHostName", nullptr},
{0x652badfba5d61929, "SystemNative_FcntlSetFD", nullptr},
{0x66e049fe27bf91ea, "AndroidCryptoNative_SSLSupportsApplicationProtocolsConfiguration", nullptr},
{0x6792c0a7ea5d19c9, "BrotliEncoderTakeOutput", nullptr},
{0x67a8868ef592a3fd, "AndroidCryptoNative_SSLStreamShutdown", nullptr},
{0x67a9b5bbce322f8c, "AndroidCryptoNative_Des3Cbc", nullptr},
{0x67d2cd86792b1d0c, "SystemNative_Realloc", nullptr},
{0x67e9d60481f4be06, "SystemNative_PlatformSupportsDualModeIPv4PacketInfo", nullptr},
{0x68df81a8fb5bf442, "SystemNative_GetSockOpt", nullptr},
{0x68f3fe6083c0355b, "SystemNative_GetLoadLibraryError", nullptr},
{0x69ad99fac0467f64, "SystemNative_Link", nullptr},
{0x6a59d9242cd31785, "AndroidCryptoNative_RsaPrivateDecrypt", nullptr},
{0x6b9097385aa77917, "SystemNative_FSync", nullptr},
{0x6b9bce16ba8e845f, "SystemNative_Malloc", nullptr},
{0x6d566e1f6e5a2d8f, "BrotliDefaultAllocFunc", nullptr},
{0x6dbd90e9cc86310b, "AndroidCryptoNative_CipherFinalEx", nullptr},
{0x6dfd40c2dd0d7382, "AndroidCryptoNative_RsaUpRef", nullptr},
{0x6e2c1caff08e6e2d, "SystemNative_ReadStdin", nullptr},
{0x6ee05d5e8650e56c, "SystemNative_DisablePosixSignalHandling", nullptr},
{0x6f990f1f7bc80630, "AndroidCryptoNative_RsaCreate", nullptr},
{0x70f907b97d3fe059, "AndroidCryptoNative_Aes192Ccm", nullptr},
{0x7150f0eb40797bb3, "AndroidCryptoNative_SSLStreamCreateWithCertificates", nullptr},
{0x724820d307055ed1, "CryptoNative_HmacFinal", nullptr},
{0x729afe37cdb8ae8f, "SystemNative_Connect", nullptr},
{0x730ae9a7469a7321, "SystemNative_GetAllMountPoints", nullptr},
{0x7356b141407d261e, "AndroidCryptoNative_EcdhDeriveKey", nullptr},
{0x742da00b2dbf435d, "SystemNative_LoadLibrary", nullptr},
{0x74ec4a8d869776ad, "AndroidCryptoNative_Aes128Ccm", nullptr},
{0x758dfbf057da0da0, "AndroidCryptoNative_DsaSignatureFieldSize", nullptr},
{0x7975d1d7029cf1a3, "AndroidCryptoNative_Aes128Gcm", nullptr},
{0x79f5c24afbd04af1, "AndroidCryptoNative_Aes256Cbc", nullptr},
{0x7a37e0d077f2dfe5, "AndroidCryptoNative_DsaGenerateKey", nullptr},
{0x7af1f52a7a632e95, "BrotliDecoderTakeOutput", nullptr},
{0x7d5273ad530e7298, "AndroidCryptoNative_X509StoreOpenDefault", nullptr},
{0x7d7ee4bce74d4de9, "SystemNative_GetDomainSocketSizes", nullptr},
{0x7e1766c6df3ad261, "SystemNative_MUnmap", nullptr},
{0x7e4bdf46d4ff9f11, "SystemNative_MkNod", nullptr},
{0x7ec328b6ba9eab8a, "SystemNative_WaitForSocketEvents", nullptr},
{0x7fa96d0284954375, "AndroidCryptoNative_X509Decode", nullptr},
{0x80ef5040fdcc248d, "BrotliEncoderMaxCompressedSize", nullptr},
{0x813bedf08c3388d4, "AndroidCryptoNative_Aes128Cfb8", nullptr},
{0x84b5542f0da03584, "SystemNative_GetIPSocketAddressSizes", nullptr},
{0x84c8a7489b37fea0, "SystemNative_GetPlatformSignalNumber", nullptr},
{0x84cc0301870c37ce, "AndroidCryptoNative_SSLStreamSetTargetHost", nullptr},
{0x8502eeba98158e79, "SystemNative_FcntlSetIsNonBlocking", nullptr},
{0x8530d37777969db6, "SystemNative_SetKeypadXmit", nullptr},
{0x8537eeb56d41402b, "CompressionNative_DeflateReset", nullptr},
{0x85d0033bc38bb4bb, "SystemNative_MAdvise", nullptr},
{0x868e09dc7dfea364, "AndroidCryptoNative_RsaSignPrimitive", nullptr},
{0x870191ad244b8069, "AndroidCryptoNative_RegisterRemoteCertificateValidationCallback", nullptr},
{0x87019b7831c0c34c, "AndroidCryptoNative_Aes192Gcm", nullptr},
{0x87c447e7f873cff0, "AndroidCryptoNative_X509ChainValidate", nullptr},
{0x889350f209555ecb, "SystemNative_MkdTemp", nullptr},
{0x88a08b60b80c70cc, "SystemNative_FChMod", nullptr},
{0x88cfeefc903f9d60, "CryptoNative_EvpDigestCurrent", nullptr},
{0x8bcabce135063bed, "SystemNative_OpenDir", nullptr},
{0x8df448aee6e8fa5e, "SystemNative_WaitPidExitedNoHang", nullptr},
{0x8e96cb02418947cc, "SystemNative_FcntlGetPipeSz", nullptr},
{0x8fb6ed14ee0256bc, "SystemNative_GetTimestamp", nullptr},
{0x8ffe2d950d138c01, "SystemNative_SchedGetCpu", nullptr},
{0x9039632237d70ae7, "AndroidCryptoNative_NewGlobalReference", nullptr},
{0x9161ade1206fd86e, "AndroidCryptoNative_Aes256Cfb128", nullptr},
{0x9167a072639a7c95, "AndroidCryptoNative_Aes256Ccm", nullptr},
{0x91f065ec0d3aec55, "AndroidCryptoNative_X509StoreAddCertificateWithPrivateKey", nullptr},
{0x93a8bec488055608, "SystemNative_GetPwNamR", nullptr},
{0x95a0e2fc5c0cb49e, "AndroidCryptoNative_SSLStreamSetApplicationProtocols", nullptr},
{0x95a4cb8563cc6b14, "SystemNative_ShmOpen", nullptr},
{0x9856fa59ed936b73, "SystemNative_GetSid", nullptr},
{0x996ada1c038aabba, "SystemNative_MksTemps", nullptr},
{0x9991a277809ef205, "AndroidCryptoNative_SSLStreamGetApplicationProtocol", nullptr},
{0x99a840c495204202, "SystemNative_GetBytesAvailable", nullptr},
{0x99e3660fc483d7be, "CryptoNative_GetRandomBytes", nullptr},
{0x9aa9eaee3dd8b23b, "SystemNative_GetIPv4MulticastOption", nullptr},
{0x9aaaad33b28af82f, "SystemNative_SetSignalForBreak", nullptr},
{0x9aab07f824659d3e, "AndroidCryptoNative_DsaKeyCreateByExplicitParameters", nullptr},
{0x9c3e8b890033819a, "SystemNative_FcntlCanGetSetPipeSz", nullptr},
{0x9c832cd7fcbf2de0, "SystemNative_MkFifo", nullptr},
{0x9d2cb31282abd3d9, "SystemNative_GetNetworkInterfaces", nullptr},
{0x9e25ebf4f61cc299, "SystemNative_ChDir", nullptr},
{0x9e79166979634030, "AndroidCryptoNative_CipherSetKeyAndIV", nullptr},
{0x9edddf30d660eff4, "AndroidCryptoNative_Aes192Ecb", nullptr},
{0x9fb01da1222e905a, "SystemNative_IsATty", nullptr},
{0xa1e881a63614507e, "SystemNative_INotifyRemoveWatch", nullptr},
{0xa2254fea4d8b6909, "SystemNative_MMap", nullptr},
{0xa272b5349013d9ef, "CryptoNative_EvpSha256", nullptr},
{0xa2d7790a850024c0, "SystemNative_GetNumRoutes", nullptr},
{0xa302613a430248b8, "SystemNative_GetGroups", nullptr},
{0xa308025a784497df, "AndroidCryptoNative_SSLStreamSetEnabledProtocols", nullptr},
{0xa56532a23755cd87, "SystemNative_StdinReady", nullptr},
{0xa56954e28eb9a9c9, "AndroidCryptoNative_Des3Cfb8", nullptr},
{0xa57e18f82abd5958, "BrotliDecoderDestroyInstance", nullptr},
{0xa5eda72b95fe78c3, "AndroidCryptoNative_X509ChainGetErrors", nullptr},
{0xa89b70c38d3ba079, "CryptoNative_HmacCreate", nullptr},
{0xa89ec9958d999483, "SystemNative_GetCwd", nullptr},
{0xa8bdc3e7ee898dfc, "SystemNative_Shutdown", nullptr},
{0xa93eb533acf7564d, "AndroidCryptoNative_DesEcb", nullptr},
{0xa961e8db31830e16, "AndroidCryptoNative_Aes192Cfb8", nullptr},
{0xabdcf2f74d210f35, "SystemNative_GetCryptographicallySecureRandomBytes", nullptr},
{0xac11eab9d9c31b01, "SystemNative_UTimensat", nullptr},
{0xac7725c652a5fb5b, "SystemNative_CopyFile", nullptr},
{0xad1a2d6575cdd4e3, "AndroidCryptoNative_SSLStreamWrite", nullptr},
{0xad228cdc4edb11d6, "SystemNative_CloseDir", nullptr},
{0xadc6889903a2d6f4, "SystemNative_Rename", nullptr},
{0xae320903718eb45d, "SystemNative_MapTcpState", nullptr},
{0xaf72b94c4acee897, "BrotliDecoderHasMoreOutput", nullptr},
{0xaf9706efc72c3904, "SystemNative_SetIPv6MulticastOption", nullptr},
{0xafd9f6338cdbadd4, "SystemNative_GetHostEntryForName", nullptr},
{0xafe3d21bbaa71464, "CompressionNative_DeflateEnd", nullptr},
{0xb0b66a7145de350d, "SystemNative_Access", nullptr},
{0xb0df46ff09c57741, "AndroidCryptoNative_GetRsaParameters", nullptr},
{0xb0e18377ed603e0b, "SystemNative_GetGroupList", nullptr},
{0xb1c394b9992bd67d, "AndroidCryptoNative_EcDsaSign", nullptr},
{0xb1ff12f3bd735982, "AndroidCryptoNative_AeadCipherFinalEx", nullptr},
{0xb361006446f560e8, "SystemNative_LogError", nullptr},
{0xb3e1e5e50cde576e, "BrotliEncoderVersion", nullptr},
{0xb41fa43cc5c261cb, "BrotliDecoderGetErrorCode", nullptr},
{0xb4996dd1aba38200, "AndroidCryptoNative_EcDsaSize", nullptr},
{0xb516027cb59e6541, "BrotliDecoderIsFinished", nullptr},
{0xb575ec01a7a79f8f, "AndroidCryptoNative_DesCfb8", nullptr},
{0xb600c44028c1743d, "SystemNative_Socket", nullptr},
{0xb632e9bc6f7be0a9, "SystemNative_GetSockName", nullptr},
{0xb6540b73eff28747, "SystemNative_SetRawSockOpt", nullptr},
{0xb66be1550d27bfb4, "AndroidCryptoNative_GetECCurveParameters", nullptr},
{0xb69c3cc8b9f6a724, "BrotliDecoderIsUsed", nullptr},
{0xb6ab9abf7887911f, "SystemNative_ReadEvents", nullptr},
{0xb73c597de01bc0b2, "SystemNative_GetPwUidR", nullptr},
{0xb78af5975603cd20, "SystemNative_Sync", nullptr},
{0xb7bbbe2c16a565c6, "SystemNative_Calloc", nullptr},
{0xb828d9e7df5437a5, "BrotliDecoderErrorString", nullptr},
{0xba2f6d298f3be8bc, "CryptoNative_EvpMd5", nullptr},
{0xbb3343826d504870, "SystemNative_GetBootTimeTicks", nullptr},
{0xbb5e970ecb6745da, "SystemNative_SymLink", nullptr},
{0xbbd20cce92ec2c12, "SystemNative_FcntlGetFD", nullptr},
{0xbcd9e53d2d288094, "SystemNative_GetNameInfo", nullptr},
{0xbd5a0be2f7904089, "AndroidCryptoNative_X509StoreAddCertificate", nullptr},
{0xbd89ef4df5486744, "SystemNative_Send", nullptr},
{0xbdbbd2898347c0d1, "AndroidCryptoNative_SSLStreamHandshake", nullptr},
{0xbdd3128e77381b01, "SystemNative_EnumerateInterfaceAddresses", nullptr},
{0xbe8df478de07c6d8, "BrotliDefaultFreeFunc", nullptr},
{0xc00ebc097b776c1f, "SystemNative_GetPriority", nullptr},
{0xc036b23d88fad91b, "SystemNative_iOSSupportVersion", nullptr},
{0xc0bb2dd0c5b74436, "CryptoNative_EnsureOpenSslInitialized", nullptr},
{0xc10e411c989a9314, "CompressionNative_Deflate", nullptr},
{0xc11cd661db8be230, "AndroidCryptoNative_Des3Cfb64", nullptr},
{0xc183a0550feea0d6, "BrotliEncoderCompressStream", nullptr},
{0xc19b94823ea1d39e, "CryptoNative_HmacOneShot", nullptr},
{0xc1b8a5f1c799e4bb, "BrotliGetDictionary", nullptr},
{0xc1c679eefc134d31, "SystemNative_LowLevelMonitor_Release", nullptr},
{0xc2d5e1c465b2f5b6, "AndroidCryptoNative_DsaSizeP", nullptr},
{0xc3145e336c38379b, "AndroidCryptoNative_SSLStreamGetPeerCertificates", nullptr},
{0xc3c10021b10ba455, "SystemNative_GetEGid", nullptr},
{0xc3fe9394fe1f3f02, "SystemNative_GetSocketType", nullptr},
{0xc560d9947ab2a34d, "SystemNative_RegisterForSigChld", nullptr},
{0xc5bed971846027de, "SystemNative_GetCpuUtilization", nullptr},
{0xc69433678dd341ca, "SystemNative_ForkAndExecProcess", nullptr},
{0xc7815e0476511544, "AndroidCryptoNative_X509Encode", nullptr},
{0xc7ae1b8d93af5d73, "SystemNative_ChMod", nullptr},
{0xc7d536c0e7eb3fe2, "SystemNative_FreeSocketEventBuffer", nullptr},
{0xc7f81d5b58b65ac0, "BrotliEncoderCreateInstance", nullptr},
{0xc87a5ee4869035c6, "SystemNative_UninitializeConsoleAfterRead", nullptr},
{0xc8a52a8b6d96b32b, "AndroidCryptoNative_X509ExportPkcs7", nullptr},
{0xc93df58ae5457bfd, "SystemNative_GetControlMessageBufferSize", nullptr},
{0xc956e528f995739c, "SystemNative_ReceiveMessage", nullptr},
{0xca001af79c0d7a8b, "CompressionNative_InflateEnd", nullptr},
{0xca48c3927c202794, "AndroidCryptoNative_GetECKeyParameters", nullptr},
{0xcaae6d345ba32c7b, "SystemNative_Kill", nullptr},
{0xcaec08aa13779f7f, "SystemNative_GetEnviron", nullptr},
{0xcaf599a20538b10b, "SystemNative_SetWindowSize", nullptr},
{0xcb4bcdafdc81d116, "AndroidCryptoNative_CipherCreatePartial", nullptr},
{0xcbbb90469d28cded, "SystemNative_SearchPath", nullptr},
{0xcc433093c073719e, "AndroidCryptoNative_SSLStreamRead", nullptr},
{0xcc43d880192dd6ff, "SystemNative_ConvertErrorPlatformToPal", nullptr},
{0xcc788c0474c3e178, "SystemNative_LSeek", nullptr},
{0xcd5d8a63493f5e38, "CompressionNative_InflateInit2_", nullptr},
{0xcdcb014df9a6eae2, "SystemNative_SetPort", nullptr},
{0xce36e2e1a139a020, "SystemNative_GetDefaultTimeZone", nullptr},
{0xce6ddfe40fed99d9, "SystemNative_PRead", nullptr},
{0xce9f8a6ac705faa5, "AndroidCryptoNative_X509DecodeCollection", nullptr},
{0xceba527295694651, "BrotliDecoderCreateInstance", nullptr},
{0xd392d6ed5dcc111c, "SystemNative_GetDomainName", nullptr},
{0xd55437b16dc84f3b, "SystemNative_GetIPv4GlobalStatistics", nullptr},
{0xd5c063a90ae882c1, "AndroidCryptoNative_CipherIsSupported", nullptr},
{0xd7d818c7640598dc, "AndroidCryptoNative_X509ChainGetCertificates", nullptr},
{0xd7f1a8f616897ace, "AndroidCryptoNative_Aes256Cfb8", nullptr},
{0xd88be8f9e9f28e90, "SystemNative_GetIcmpv4GlobalStatistics", nullptr},
{0xd8976692c4c68818, "SystemNative_GetEstimatedUdpListenerCount", nullptr},
{0xd8a9e47b6ca78448, "CryptoNative_ErrPeekLastError", nullptr},
{0xd9bd0b370726ce34, "AndroidCryptoNative_CipherReset", nullptr},
{0xda05c57c78aa6706, "SystemNative_LowLevelMonitor_Signal_Release", nullptr},
{0xda38bffa1d16cdd6, "SystemNative_SetLingerOption", nullptr},
{0xda4898a26933f73d, "AndroidCryptoNative_DsaVerify", nullptr},
{0xda6b3192974ca60e, "SystemNative_Open", nullptr},
{0xdab5eb45815daabc, "SystemNative_GetAtOutOfBandMark", nullptr},
{0xdae32aac0c0d305c, "SystemNative_ReadProcessStatusInfo", nullptr},
{0xdbb4752ed23670f0, "AndroidCryptoNative_DesCbc", nullptr},
{0xdbee22594fa8c585, "SystemNative_CreateAutoreleasePool", nullptr},
{0xdc51159ffe70b0e0, "BrotliDecoderVersion", nullptr},
{0xdd4c03f06ce96e04, "AndroidCryptoNative_RsaDestroy", nullptr},
{0xdde06993f87d6ffc, "AndroidCryptoNative_Aes128Cfb128", nullptr},
{0xde1e22dd097f799c, "AndroidCryptoNative_CipherSetNonceLength", nullptr},
{0xde259001bf54e6f1, "AndroidCryptoNative_SSLStreamIsLocalCertificateUsed", nullptr},
{0xdec5c7544d2c8cb1, "AndroidCryptoNative_GetDsaParameters", nullptr},
{0xdf650444c8af0763, "SystemNative_FcntlGetIsNonBlocking", nullptr},
{0xdfede2defd776f7e, "AndroidCryptoNative_X509ChainSetCustomTrustStore", nullptr},
{0xe059239741e0011a, "AndroidCryptoNative_EcKeyCreateByKeyParameters", nullptr},
{0xe0a170d2b947a8fc, "SystemNative_SendMessage", nullptr},
{0xe0a601fd89d9b279, "SystemNative_SetErrNo", nullptr},
{0xe0f34ce89fd38aef, "AndroidCryptoNative_RsaPublicEncrypt", nullptr},
{0xe20c29fb8b19da7b, "SystemNative_Listen", nullptr},
{0xe36a157177b2db08, "SystemNative_GetNonCryptographicallySecureRandomBytes", nullptr},
{0xe44f737a5bebdd90, "SystemNative_SetIPv4Address", nullptr},
{0xe582a4a60bb74c35, "SystemNative_GetProcAddress", nullptr},
{0xe604fca300068c0c, "AndroidCryptoNative_CipherCtxSetPadding", nullptr},
{0xe6838f2add787bfe, "SystemNative_FreeLibrary", nullptr},
{0xe73aeaf9e3a10343, "SystemNative_PWrite", nullptr},
{0xe78ff100d1d73d99, "SystemNative_SetReceiveTimeout", nullptr},
{0xe853ecfe4d402ed0, "SystemNative_Poll", nullptr},
{0xea5e6653389b924a, "CompressionNative_DeflateInit2_", nullptr},
{0xea61d6c040267b2d, "BrotliSetDictionaryData", nullptr},
{0xeaafb7963ceb9bf4, "SystemNative_GetTcpGlobalStatistics", nullptr},
{0xeab45239fb3f138d, "AndroidCryptoNative_GetBigNumBytes", nullptr},
{0xead798b3c60b390e, "CompressionNative_InflateReset", nullptr},
{0xec67e4076662c2de, "SystemNative_GetDefaultSearchOrderPseudoHandle", nullptr},
{0xef71ee101b3ece96, "SystemNative_GetIcmpv6GlobalStatistics", nullptr},
{0xeff5d014640ae969, "AndroidCryptoNative_DeleteGlobalReference", nullptr},
{0xf0045895a9043221, "SystemNative_SearchPath_TempDirectory", nullptr},
{0xf0ec052da6c5fa70, "SystemNative_EnumerateGatewayAddressesForInterface", nullptr},
{0xf1577384f409ea85, "AndroidCryptoNative_BigNumToBinary", nullptr},
{0xf2c7fa39bf166188, "SystemNative_Free", nullptr},
{0xf38b47e43f352491, "SystemNative_GetUdpGlobalStatistics", nullptr},
{0xf432f105a045b088, "CryptoNative_ErrClearError", nullptr},
{0xf4dea312f71c5ff2, "AndroidCryptoNative_Aes128Ecb", nullptr},
{0xf4f5526ddc32beac, "CryptoNative_HmacDestroy", nullptr},
{0xf57f81262f07542c, "AndroidCryptoNative_Des3Ecb", nullptr},
{0xf6ede5d5d8729315, "SystemNative_WaitIdAnyExitedNoHangNoWait", nullptr},
{0xf75d4fdd6e749a84, "BrotliTransformDictionaryWord", nullptr},
{0xf7b334768844b502, "AndroidCryptoNative_X509StoreContainsCertificate", nullptr},
{0xf85b8ffeba9b06c1, "AndroidCryptoNative_X509StoreEnumerateTrustedCertificates", nullptr},
{0xf870179a8d8d1872, "SystemNative_PosixFAdvise", nullptr},
{0xf8c983dd21ef9fe6, "SystemNative_GetPid", nullptr},
{0xf96bc1e7e15e69f2, "AndroidCryptoNative_CipherUpdate", nullptr},
{0xf970881d4fa83e07, "AndroidCryptoNative_CipherCreate", nullptr},
{0xf9c3d216226b3355, "AndroidCryptoNative_CipherSetTagLength", nullptr},
{0xf9dea6e72f1fffc9, "CryptoNative_EvpMdCtxCreate", nullptr},
{0xfa26b86cedf66721, "SystemNative_Sysctl", nullptr},
{0xfaa7766eaa2c54a5, "AndroidCryptoNative_DecodeRsaSubjectPublicKeyInfo", nullptr},
{0xfb3e394cc613f202, "SystemNative_GetPeerName", nullptr},
{0xfbb57319454b1074, "SystemNative_GetSpaceInfoForMountPoint", nullptr},
{0xfc0bad2b1528000f, "AndroidCryptoNative_RsaVerificationPrimitive", nullptr},
{0xfcdeea476953780c, "AndroidCryptoNative_Aes192Cfb128", nullptr},
{0xfd2cdd99f11de76c, "AndroidCryptoNative_EcKeyGetSize", nullptr},
{0xfd4f2784ec1c98aa, "AndroidCryptoNative_SSLStreamRequestClientAuthentication", nullptr},
{0xfe3dd06281f7cd1f, "AndroidCryptoNative_SSLStreamInitialize", nullptr},
{0xff28b3bec4f32a2c, "SystemNative_GetFileSystemType", nullptr},
{0xff9b8d95b0e209fb, "BrotliEncoderHasMoreOutput", nullptr},
{0xffce9341c40b2b73, "BrotliDecoderDecompress", nullptr},
};
constexpr hash_t java_interop_library_hash = 0x23daaf0075433fe6;
constexpr hash_t xa_internal_api_library_hash = 0xb43ec55666e9bac2;
constexpr hash_t system_native_library_hash = 0x578abc5300e958b7;
constexpr hash_t system_io_compression_native_library_hash = 0xfbd30111a3b6e09a;
constexpr hash_t system_security_cryptography_native_android_library_hash = 0x14ceaea6ae80c29d;
constexpr hash_t java_interop_library_hash = 0x54568ec36068e6b6;
constexpr hash_t xa_internal_api_library_hash = 0x43fd1b21148361b2;
constexpr hash_t system_native_library_hash = 0x4cd7bd0032e920e1;
constexpr hash_t system_io_compression_native_library_hash = 0x9190f4cb761b1d3c;
constexpr hash_t system_security_cryptography_native_android_library_hash = 0x1848c0093f0afd8;
#else
//32-bit internal p/invoke table
static PinvokeEntry internal_pinvokes[] = {

Просмотреть файл

@ -1,6 +1,16 @@
#if !defined (__XXHASH_HH)
#define __XXHASH_HH
#include <type_traits>
#if INTPTR_MAX == INT64_MAX
#define XXH_NO_STREAM
#define XXH_INLINE_ALL
#define XXH_NAMESPACE xaInternal_
#include <xxHash/xxhash.h>
#include <constexpr-xxh3.h>
#endif
//
// Based on original code at https://github.com/ekpyron/xxhashct
//
@ -142,122 +152,31 @@ namespace xamarin::android
}
};
#if INTPTR_MAX == INT64_MAX
class xxhash64 final
{
static constexpr uint64_t PRIME1 = 11400714785074694791ULL;
static constexpr uint64_t PRIME2 = 14029467366897019727ULL;
static constexpr uint64_t PRIME3 = 1609587929392839161ULL;
static constexpr uint64_t PRIME4 = 9650029242287828579ULL;
static constexpr uint64_t PRIME5 = 2870177450012600261ULL;
public:
// We don't use any special seed in XA, the template parameter is just to keep the algorithm more easily
// understood and to run compile-time algorithm correctness tests
template<uint64_t Seed = 0>
force_inline static constexpr uint64_t hash (const char *p, size_t len) noexcept
force_inline static XXH64_hash_t hash (const char *p, size_t len) noexcept
{
return finalize ((len >= 32 ? h32bytes<Seed> (p, len) : Seed + PRIME5) + len, p + (len & ~0x1FU), len & 0x1F);
return XXH3_64bits (static_cast<const void*>(p), len);
}
template<size_t Size, uint64_t Seed = 0>
force_inline static constexpr uint64_t hash (const char (&input)[Size]) noexcept
force_inline static consteval XXH64_hash_t hash (std::string_view const& input) noexcept
{
return hash<Seed> (input, Size - 1);
return constexpr_xxh3::XXH3_64bits_const (input.data (), input.length ());
}
template<uint64_t Seed = 0>
force_inline static constexpr uint64_t hash (std::string_view const& input) noexcept
// The C XXH64_64bits function from xxhash.h is not `constexpr` or `consteval`, so we cannot call it here.
// At the same time, at build time performance is not that important, so we call the "unoptmized" `consteval`
// C++ implementation here
template<size_t Size>
force_inline static consteval XXH64_hash_t hash (const char (&input)[Size]) noexcept
{
return hash<Seed> (input.data (), input.length ());
}
private:
template<int Bits>
force_inline static constexpr uint64_t rotl (uint64_t x) noexcept
{
return ((x << Bits) | (x >> (64 - Bits)));
}
template<int RShift>
force_inline static constexpr uint64_t mix1 (const uint64_t h, const uint64_t prime) noexcept
{
return (h ^ (h >> RShift)) * prime;
}
force_inline static constexpr uint64_t mix2 (const uint64_t p, const uint64_t v = 0) noexcept
{
return rotl<31> (v + p * PRIME2) * PRIME1;
}
force_inline static constexpr uint64_t mix3 (const uint64_t h, const uint64_t v) noexcept
{
return (h ^ mix2 (v)) * PRIME1 + PRIME4;
}
// little-endian versions: all our target platforms are little-endian
force_inline static constexpr uint32_t endian32 (const char *v) noexcept
{
return
static_cast<uint32_t>(static_cast<uint8_t>(v[0])) |
(static_cast<uint32_t>(static_cast<uint8_t>(v[1])) << 8) |
(static_cast<uint32_t>(static_cast<uint8_t>(v[2])) << 16) |
(static_cast<uint32_t>(static_cast<uint8_t>(v[3])) << 24);
}
force_inline static constexpr uint64_t endian64 (const char *v)
{
return
static_cast<uint64_t>(static_cast<uint8_t>(v[0])) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[1])) << 8) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[2])) << 16) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[3])) << 24) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[4])) << 32) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[5])) << 40) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[6])) << 48) |
(static_cast<uint64_t>(static_cast<uint8_t>(v[7])) << 56);
}
force_inline static constexpr uint64_t fetch64 (const char *p, const uint64_t v = 0) noexcept
{
return mix2 (endian64 (p), v);
}
force_inline static constexpr uint64_t fetch32 (const char *p) noexcept
{
return static_cast<uint64_t>(endian32 (p)) * PRIME1;
}
force_inline static constexpr uint64_t fetch8 (const char *p) noexcept
{
return static_cast<uint8_t> (*p) * PRIME5;
}
force_inline static constexpr uint64_t finalize (const uint64_t h, const char *p, size_t len) noexcept
{
return
(len >= 8) ? (finalize (rotl<27> (h ^ fetch64 (p)) * PRIME1 + PRIME4, p + 8, len - 8)) :
((len >= 4) ? (finalize (rotl<23> (h ^ fetch32 (p)) * PRIME2 + PRIME3, p + 4, len - 4)) :
((len > 0) ? (finalize (rotl<11> (h ^ fetch8 (p)) * PRIME1, p + 1, len - 1)) :
(mix1<32> (mix1<29> (mix1<33> (h, PRIME2), PRIME3), 1))));
}
force_inline static constexpr uint64_t h32bytes (const char *p, size_t len, const uint64_t v1,const uint64_t v2, const uint64_t v3, const uint64_t v4) noexcept
{
return (len >= 32) ? h32bytes (p + 32, len - 32, fetch64 (p, v1), fetch64 (p + 8, v2), fetch64 (p + 16, v3), fetch64 (p + 24, v4)) :
mix3 (mix3 (mix3 (mix3 (rotl<1> (v1) + rotl<7> (v2) + rotl<12> (v3) + rotl<18> (v4), v1), v2), v3), v4);
}
// We don't use any special seed in XA, the template parameter is just to keep the algorithm more easily
// understood
template<uint64_t Seed = 0>
force_inline static constexpr uint64_t h32bytes (const char *p, size_t len) noexcept
{
return h32bytes (p, len, Seed + PRIME1 + PRIME2, Seed + PRIME2, Seed, Seed - PRIME1);
return constexpr_xxh3::XXH3_64bits_const (input);
}
};
#if INTPTR_MAX == INT64_MAX
using hash_t = uint64_t;
using hash_t = XXH64_hash_t;
using xxhash = xxhash64;
#else
using hash_t = uint32_t;